home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-01-29 | 107.9 KB | 3,886 lines |
- *** ../mh-6.7-dist/Patchlevel Fri Dec 14 13:23:45 1990
- --- Patchlevel Thu Jan 10 09:21:00 1991
- ***************
- *** 1 ****
- ! MH.6.7 patch.1
- --- 1 ----
- ! MH.6.7 patch.1a
- *** ../mh-6.7-dist/conf/doc/ADMIN.rf Fri Dec 14 13:23:48 1990
- --- conf/doc/ADMIN.rf Mon Jan 7 16:14:25 1991
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: ADMIN.rf,v 2.11 90/04/09 20:28:27 sources Exp $
- .po +.75i
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: ADMIN.rf,v 2.13 91/01/07 16:14:24 mh Exp $
- .po +.75i
- ***************
- *** 173,174 ****
- --- 173,182 ----
- ..
- + .de Uh
- + .ad
- + .sp
- + .ti .25i
- + .b "\\$1"
- + .sp
- + .fi
- + ..
- .de Hh
- ***************
- *** 708,710 ****
- The capabilities discussed here should not be used on a production basis,
- ! as they are either experimental or are useful for debugging \fIMH\fR.
-
- --- 716,719 ----
- The capabilities discussed here should not be used on a production basis,
- ! as they are either experimental, are useful for debugging \fIMH\fR, or
- ! are otherwise not recommended.
-
- ***************
- *** 742,744 ****
- `\-dashmunging' and `\-nodashmunging' which enable or disable
- ! the prepending of `\-\ ' in forwarded messages.
-
- --- 751,754 ----
- `\-dashmunging' and `\-nodashmunging' which enable or disable
- ! the prepending of `\-\ ' in forwarded messages. To use
- ! `\-nodashmunging', you must use an \fImhl\fR filter file.
-
- *** ../mh-6.7-dist/conf/doc/MH.rf Fri Dec 14 13:23:49 1990
- --- conf/doc/MH.rf Fri Jan 25 15:49:37 1991
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: MH.rf,v 1.11 90/04/10 21:20:18 sources Exp $
- .po +.75i
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: MH.rf,v 1.15 91/01/25 15:49:34 mh Exp $
- .po +.75i
- ***************
- *** 974,975 ****
- --- 974,983 ----
- ..
- + .de Uh
- + .ad
- + .sp
- + .ti -.25i
- + .b "\\$1"
- + .sp
- + .fi
- + ..
- .de Hh
- ***************
- *** 1116,1117 ****
- --- 1124,1126 ----
- .so mh-profile.me
- + .so mh-sequence.me
- .so ap.me
- ***************
- *** 1120,1121 ****
- --- 1129,1131 ----
- .so install-mh.me
- + .so fmtdump.me
- .so post.me
- ***************
- *** 1193,1194 ****
- --- 1203,1214 ----
- argument.
- + .pp
- + A restricted form of message ranges are allowed with user\-defined
- + sequences. The form \*(lqname:n\*(rq, specifies up to the first `n' messages
- + which are part of the user\-defined sequence `name'.
- + A leading plus sign is allowed on `n', but is ignored.
- + The interpretation of n is overridden if n is preceded
- + by a minus sign;
- + `\-n' always means up to the last `n' messages which are part of the
- + sequence `name'.
- + .pp
- Although all \fIMH\fR commands expand user\-defined sequences as appropriate,
- ***************
- *** 1223,1225 ****
- Hence, if the named sequence already existed,
- ! the sequence is destroyed prior to being re\-defined
- (nothing happens to the messages that were a part of this sequence,
- --- 1243,1245 ----
- Hence, if the named sequence already existed,
- ! the sequence is destroyed prior to being re-defined
- (nothing happens to the messages that were a part of this sequence,
- ***************
- *** 1912,1914 ****
- .in 1i
- ! .ta \w'signed-number 'u +\w':= 'u +\w'user-defined-sequence 'u
- msgs := msgspec |
- --- 1932,1934 ----
- .in 1i
- ! .ta \w'user-defined-sequence 'u +\w':= 'u +\w'user-defined-sequence 'u
- msgs := msgspec |
- ***************
- *** 1931,1933 ****
-
- ! msg-range := msg\*(lq-\*(rqmsg |
- \*(lqall\*(rq
- --- 1951,1953 ----
-
- ! msg-range := msg\*(lq\-\*(rqmsg |
- \*(lqall\*(rq
- ***************
- *** 1937,1940 ****
- signed-number := \*(lq+\*(rq<number> |
- ! \*(lq-\*(rq<number> |
- <number>
- .re
- --- 1957,1963 ----
- signed-number := \*(lq+\*(rq<number> |
- ! \*(lq\-\*(rq<number> |
- <number>
- +
- + user-defined-sequence := <alpha> |
- + <alpha><alphanumeric>*
- .re
- *** ../mh-6.7-dist/conf/doc/comp.rf Fri Dec 14 13:23:53 1990
- --- conf/doc/comp.rf Mon Dec 17 16:29:37 1990
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: comp.rf,v 1.5 90/04/05 15:12:17 sources Exp $
- .SC COMP 1
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: comp.rf,v 1.6 90/12/17 16:29:30 mh Exp $
- .SC COMP 1
- ***************
- *** 70,71 ****
- --- 70,73 ----
-
- + The `\-editor\ editor' switch indicates the editor to
- + use for the initial edit.
- Upon exiting from the editor,
- ***************
- *** 96,98 ****
- .Sa
- ! dist(1), forw(1), repl(1), send(1), whatnow(1)
- .De
- --- 98,100 ----
- .Sa
- ! dist(1), forw(1), repl(1), send(1), whatnow(1), mh-profile(5)
- .De
- *** /dev/null Fri Jan 25 16:03:46 1991
- --- conf/doc/fmtdump.rf Fri Jan 25 15:47:32 1991
- ***************
- *** 0 ****
- --- 1,19 ----
- + .\" @(MHWARNING)
- + .\" @(#)$Id: fmtdump.rf,v 1.2 91/01/25 15:47:30 mh Exp $
- + .SC FMTDUMP 8
- + .NA
- + fmtdump \- decode \fIMH\fP format files
- + .SY
- + @(MHETCPATH)/fmtdump formatfile
- + .DE
- + \fIFmtdump\fR is a program that parses an \fIMH\fP format file
- + and produces a pseudo-language listing of the how \fIMH\fP
- + interprets the file.
- + .Sa
- + mh-format(8), mh-sequences(8)
- + .Co
- + None
- + .Bu
- + The output may not be useful unless you are familiar
- + with the internals of the mh-format subroutines.
- + .En
- *** ../mh-6.7-dist/conf/doc/folder.rf Fri Dec 14 13:23:53 1990
- --- conf/doc/folder.rf Tue Dec 18 14:28:15 1990
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: folder.rf,v 1.5 90/04/05 15:12:37 sources Exp $
- .SC FOLDER 1
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: folder.rf,v 1.6 90/12/18 14:28:05 mh Exp $
- .SC FOLDER 1
- ***************
- *** 108,110 ****
- If the specified (or default) folder doesn't exist,
- ! the user will be queried if the folder should be created.
- (This is the easy way to create an empty folder for use later.)
- --- 108,112 ----
- If the specified (or default) folder doesn't exist,
- ! the user will be queried as to whether the folder should be created.
- ! When standard input is not a tty, the folder is
- ! created without any query.
- (This is the easy way to create an empty folder for use later.)
- *** ../mh-6.7-dist/conf/doc/forw.rf Fri Dec 14 13:23:53 1990
- --- conf/doc/forw.rf Tue Dec 18 14:40:13 1990
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: forw.rf,v 1.9 90/04/05 15:08:44 sources Exp $
- .SC FORW 1
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: forw.rf,v 1.10 90/12/18 14:40:06 mh Exp $
- .SC FORW 1
- ***************
- *** 115,116 ****
- --- 115,117 ----
- when received, the message is suitable for bursting by \fIburst\fR\0(1).
- + This follows the Internet RFC\-934 guidelines.
-
- ***************
- *** 207,208 ****
- --- 208,213 ----
- \fIDist\fR and \fIrepl\fR don't have this problem.
- +
- + To avoid prepending the leading dash characters in forwarded messages,
- + there is a `\-nodashmunging' option. See the \*(lqHidden Features\*(rq
- + section of the \fIMH Administrator's Guide\fR for more details.
- .En
- *** ../mh-6.7-dist/conf/doc/mark.rf Fri Dec 14 13:23:54 1990
- --- conf/doc/mark.rf Wed Dec 26 17:03:35 1990
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: mark.rf,v 1.5 90/04/05 15:12:51 sources Exp $
- .SC MARK 1
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: mark.rf,v 1.6 90/12/26 17:03:28 mh Exp $
- .SC MARK 1
- ***************
- *** 80,83 ****
- .in +.25i
- ! The name used to denote a message sequence must consist solely of
- ! alphabetic characters, and can not be one of the \*(lqreserved\*(rq
- message names
- --- 80,84 ----
- .in +.25i
- ! The name used to denote a message sequence must consist of
- ! an alphabetic character followed by zero or more
- ! alphanumeric characters, and can not be one of the \*(lqreserved\*(rq
- message names
- ***************
- *** 88,92 ****
-
- ! The name used to denote a message sequence can not occur as part of a
- ! message range, e.g., constructs like \*(lqseen:20\*(rq or
- ! \*(lqseen\-10\*(rq are forbidden.
- .in -.25i
- --- 89,95 ----
-
- ! Message ranges with user\-defined
- ! sequence names are restricted to the form \*(lqname:n\*(rq or
- ! \*(lqname:-n\*(rq, and refer to the first or last `n' messages
- ! of the sequence `name', respectively.
- ! Constructs of the form \*(lqname1\-name2\*(rq are forbidden.
- .in -.25i
- *** ../mh-6.7-dist/conf/doc/mh-chart.rf Fri Dec 14 13:23:55 1990
- --- conf/doc/mh-chart.rf Mon Jan 7 11:13:56 1991
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: mh-chart.rf,v 2.9 90/04/08 18:22:55 sources Exp $
- .if '\*(ZZ'-man' \{\
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: mh-chart.rf,v 2.10 91/01/07 11:13:54 mh Exp $
- .if '\*(ZZ'-man' \{\
- ***************
- *** 383,384 ****
- --- 383,385 ----
- \%[\-reverse] \%[\-noreverse]
- + \%[\-file filename]
- \%[\-help]
- *** ../mh-6.7-dist/conf/doc/mh-format.rf Fri Dec 14 13:23:55 1990
- --- conf/doc/mh-format.rf Fri Jan 11 09:17:56 1991
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: mh-format.rf,v 1.26 90/04/05 15:09:13 sources Exp $
- .SC MH\-FORMAT 5
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: mh-format.rf,v 1.29 91/01/11 09:17:35 mh Exp $
- .SC MH\-FORMAT 5
- ***************
- *** 31,33 ****
- A format string consists of ordinary text, and special
- ! multi\-character \fIescape\fR sequences which begin with `%'.
- When specifying a format string,
- --- 31,33 ----
- A format string consists of ordinary text, and special
- ! multi-character \fIescape\fR sequences which begin with `%'.
- When specifying a format string,
- ***************
- *** 39,41 ****
- There are three types of \fIescape\fR sequences:
- ! header \fIcomponents\fR, built\-in \fIfunctions\fR, and, flow \fIcontrol\fR.
-
- --- 39,41 ----
- There are three types of \fIescape\fR sequences:
- ! header \fIcomponents\fR, built-in \fIfunctions\fR, and, flow \fIcontrol\fR.
-
- ***************
- *** 54,67 ****
- A \fIfunction\fR escape is specified as `%(\fIfunction\fR\^)'.
- ! All functions are built\-in, and most have a string or numeric value.
-
- ! .ne 7
- ! A \fIcontrol\fR escape is one of: `%<', `%|', or `%>'.
- ! These form one of four conditional execution constructs with the
- ! following syntax:
- ! .sp 1
- .nf
- ! %<(\fIfunction\fR\^)Command-String%>
- ! %<{\fIcomponent\fR\^}Command-String%>
- ! %<(\fIfunction\fR\^)Then-Command-String%|Else-Command-String%>
- ! %<{\fIcomponent\fR\^}Then-Command-String%|Else-Command-String%>
- .fi
- --- 54,73 ----
- A \fIfunction\fR escape is specified as `%(\fIfunction\fR\^)'.
- ! All functions are built-in, and most have a string or numeric value.
-
- ! .ne 12
- ! .Uh "Control-flow escapes"
- ! A \fIcontrol\fR escape is one of: `%<', `%?', `%|', or `%>'.
- ! These are combined into the conditional execution construct:
- ! .sp
- .nf
- ! %<condition
- ! \fIformat text 1\fP
- ! %?condition2
- ! \fIformat text 2\fP
- ! %?condition3
- ! \fIformat text 3\fP
- ! \.\.\.
- ! %|
- ! \fIformat text N\fP
- ! %>
- .fi
- ***************
- *** 68,86 ****
- .sp
- These constructs may be nested without ambiguity.
-
- ! In the first two forms of the construct,
- ! if the function or component value is non\-zero (for integer\-valued escapes),
- ! or non\-empty (for string\-valued escapes),
- ! then everything up to the corresponding `%>'
- ! is interpreted, otherwise, skip to the corresponding '%>' and
- ! start interpreting again.
-
- ! In the second two forms of the construct,
- ! the first command string is interpreted
- ! if the function or component value is non\-zero or non\-null,
- ! and the second command string is interpreted otherwise. Only one
- ! of the command strings will be interpreted.
- ! Interpreting the '%|' control escape causes
- ! a skip to the corresponding '%>'.
-
- .ne 10
- --- 74,132 ----
- .sp
- + Extra white space is shown here only for clarity.
- These constructs may be nested without ambiguity.
- + They form a general \fBif\-elseif\-else\-endif\fP block where
- + only one of the \fIformat text\fP segments is interpreted.
-
- ! The `%<' and `%?' control escapes causes a condition to be evaluated.
- ! This condition
- ! may be either a \fIcomponent\fP or a \fIfunction\fP.
- ! The four constructs have the following syntax:
- ! .sp 1
- ! .nf
- ! %<{component}
- ! %<(function)
- ! %?{component}
- ! %?(function)
- ! .fi
- ! .sp
- ! These control escapes test whether
- ! the function or component value is non-zero (for integer-valued escapes),
- ! or non-empty (for string-valued escapes).
-
- ! If this test evaulates true,
- ! then the format text
- ! up to the next corresponding control escape
- ! (one of `%|', `%?', or `%>')
- ! is interpreted normally.
- ! Next,
- ! all format text up to the corresponding `%>' control
- ! escape (if any) is skipped.
- ! The `%>' control escape is not interpreted;
- ! normal
- ! interpretation resumes after the `%>' escape.
-
- + If the test evaluates false, however,
- + then the format text
- + up to the next corresponding control escape
- + (again, one of `%|', `%?', or `%>')
- + is skipped, instead of being interpreted.
- + If the control escape encountered was `%?',
- + then the condition associated with that control escape is
- + evaluated, and interpretation
- + proceeds after that test
- + as described in the previous paragraph.
- + If the control escape encountered was `%|',
- + then the format text
- + up to the corresponding `%>' escape
- + is interpreted normally.
- + As above,
- + the `%>' escape is not interpreted and normal
- + interpretation resumes after the `%>' escape.
- +
- + The `%?' control escape and its following format text
- + is optional, and may be included zero or more times.
- + The `%|' control escape and its following format text
- + is also optional, and may be included zero or one times.
- +
- + .Uh "Function escapes"
- .ne 10
- ***************
- *** 119,120 ****
- --- 165,167 ----
- .\" return values
- + .Uh "Return values"
- Component escapes write the value of their message header in \fIstr\fR.
- ***************
- *** 157,159 ****
- .\" dat literal int ?
- ! nonzero expr boolean \fInum\fR is non\-zero
- zero expr boolean \fInum\fR is zero
- --- 204,206 ----
- .\" dat literal int ?
- ! nonzero expr boolean \fInum\fR is non-zero
- zero expr boolean \fInum\fR is zero
- ***************
- *** 160,162 ****
- null expr boolean \fIstr\fR is empty
- ! nonnull expr boolean \fIstr\fR is non\-empty
- void expr Set \fIstr\fR or \fInum\fR
- --- 207,209 ----
- null expr boolean \fIstr\fR is empty
- ! nonnull expr boolean \fIstr\fR is non-empty
- void expr Set \fIstr\fR or \fInum\fR
- ***************
- *** 165,167 ****
- .\" compflag comp integer Set \fInum\fR to component flags bits
- ! trim expr trim trailing white\-space from \fIstr\fR
- putstr expr print \fIstr\fR
- --- 212,214 ----
- .\" compflag comp integer Set \fInum\fR to component flags bits
- ! trim expr trim trailing white-space from \fIstr\fR
- putstr expr print \fIstr\fR
- ***************
- *** 202,204 ****
- tws date string official 822 rendering
- ! pretty date string user\-friendly rendering
- nodate date integer \fIstr\fR not a date string
- --- 249,251 ----
- tws date string official 822 rendering
- ! pretty date string user-friendly rendering
- nodate date integer \fIstr\fR not a date string
- ***************
- *** 216,218 ****
- proper addr string official 822 rendering
- ! friendly addr string user\-friendly rendering
- pers addr string the personal name*
- --- 263,266 ----
- proper addr string official 822 rendering
- ! friendly addr string user-friendly rendering
- ! addr addr string mbox@host or host!mbox rendering*
- pers addr string the personal name*
- ***************
- *** 241,243 ****
- .ti +.5i
- ! %<(mymbox{from} To: %{to}%>
-
- --- 289,291 ----
- .ti +.5i
- ! %<(mymbox{from}) To: %{to}%>
-
- ***************
- *** 326,328 ****
- if the message is from me,
- ! print `To:' followed by a \*(lquser\-friendly\*(rq rendering of the
- first address in the \*(lqTo:\*(rq field.
- --- 374,376 ----
- if the message is from me,
- ! print `To:' followed by a \*(lquser-friendly\*(rq rendering of the
- first address in the \*(lqTo:\*(rq field.
- ***************
- *** 361,363 ****
-
- ! If the \fIformataddr\fR result is non\-null, it is printed as
- an address (with line folding if needed) in a field \fIwidth\fR
- --- 409,411 ----
-
- ! If the \fIformataddr\fR result is non-null, it is printed as
- an address (with line folding if needed) in a field \fIwidth\fR
- ***************
- *** 377,379 ****
-
- ! If the result is non\-null, it is printed as above with a
- leading label of \*(lqcc: \*(rq.
- --- 425,427 ----
-
- ! If the result is non-null, it is printed as above with a
- leading label of \*(lqcc: \*(rq.
- ***************
- *** 401,403 ****
- .ti +.5i
- ! --------
- .fi
- --- 449,451 ----
- .ti +.5i
- ! \-\-\-\-\-\-\-\-
- .fi
- ***************
- *** 407,412 ****
- \*(lqYour message of \*(rq. If the date was parseable, it is
- ! output in official format, otherwise it is output as\-is.
- The message-id is included if present.
- ! As with all plain\-text,
- ! the row of dashes are output as\-is.
-
- --- 455,460 ----
- \*(lqYour message of \*(rq. If the date was parseable, it is
- ! output in official format, otherwise it is output as-is.
- The message-id is included if present.
- ! As with all plain-text,
- ! the row of dashes are output as-is.
-
- ***************
- *** 413,415 ****
- This last part is a good example for a little more elaboration.
- ! Here's that part again in pseudo\-code:
- .sp 1
- --- 461,463 ----
- This last part is a good example for a little more elaboration.
- ! Here's that part again in pseudo-code:
- .sp 1
- *** ../mh-6.7-dist/conf/doc/mh-profile.rf Fri Dec 14 13:23:56 1990
- --- conf/doc/mh-profile.rf Tue Dec 18 12:49:22 1990
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: mh-profile.rf,v 1.7 90/04/05 15:09:46 sources Exp $
- .SC MH\-PROFILE 5
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: mh-profile.rf,v 1.8 90/12/18 12:49:13 mh Exp $
- .SC MH\-PROFILE 5
- ***************
- *** 218,219 ****
- --- 218,222 ----
- the file $HOME/.signature is consulted.
- + Your signature will be added to the address \fIsend\fP
- + puts in the \*(lqFrom:\*(rq header;
- + do not include an address in the signature text.
- (profile, no default)
- *** /dev/null Fri Jan 25 16:03:46 1991
- --- conf/doc/mh-sequence.rf Wed Jan 9 11:34:46 1991
- ***************
- *** 0 ****
- --- 1,228 ----
- + .\" @(MHWARNING)
- + .\" @(#)$Id: mh-sequence.rf,v 1.9 91/01/09 11:34:34 mh Exp $
- + .SC MH\-SEQUENCE 5
- + .NA
- + mh\-sequence \- sequence specification for MH message system
- + .SY
- + most \fIMH\fR commands
- + .DE
- + Most \fIMH\fP commands accept a `msg' or `msgs' specification, where
- + `msg' indicates one message and `msgs' indicates one or more
- + messages.
- + To designate a message, you may use either its number (e.g., 1, 10, 234)
- + or one of these \*(lqreserved\*(rq message names:
- + .in +.5i
- + .sp 1
- + .nf
- + .ta +\w'\fIName\fP 'u
- + \fIName\fP \fIDescription\fR
- + first the first message in the folder
- + last the last message in the folder
- + cur the most recently accessed message
- + prev the message numerically preceding \*(lqcur\*(rq
- + next the message numerically following \*(lqcur\*(rq
- + .re
- + .fi
- + .in -.5i
- +
- + In commands that take a `msg' argument, the default is \*(lqcur\*(rq.
- + As a shorthand, \*(lq\&.\*(rq is equivalent to \*(lqcur\*(rq.
- +
- + For example: In a folder containing five messages numbered 5, 10, 94,
- + 177 and 325, \*(lqfirst\*(rq is 5 and \*(lqlast\*(rq is 325.
- + If \*(lqcur\*(rq is 94, then \*(lqprev\*(rq is 10 and \*(lqnext\*(rq
- + is 177.
- +
- + The word `msgs' indicates that one or more messages may be specified.
- + Such a specification consists of one message designation or of several message
- + designations separated by spaces.
- + A message designation consists either
- + of a message name as defined above, or a message range.
- +
- + A message range is specified as \*(lqname1\-name2\*(rq
- + or \*(lqname:n\*(rq,
- + where `name', `name1' and `name2' are message names, and `n' is an integer.
- +
- + The specification \*(lqname1\-name2\*(rq
- + designates all currently-existing messages from `name1' to `name2' inclusive.
- + The message name \*(lqall\*(rq is a shorthand for the message
- + range \*(lqfirst\-last\*(rq.
- +
- + The specification \*(lqname:n\*(rq designates up to `n' messages.
- + These messages start with `name' if `name' is a message number
- + or one of the reserved names \*(lqfirst\*(rq \*(lqcur\*(rq, or \*(lqnext\*(rq,
- + The messages end with `name' if `name' is \*(lqprev\*(rq or \*(lqlast\*(rq.
- + The interpretation of `n' may be overridden by preceding `n' with
- + a plus or minus sign; `+n' always means up to `n' messages starting
- + with `name', and `\-n' always means up to `n' messages ending
- + with `name'.
- +
- + In commands which accept a `msgs' argument, the default is either
- + \*(lqcur\*(rq or \*(lqall\*(rq, depending on which makes more sense.
- + Repeated specifications of the same message have the same effect as
- + a single specification of the message.
- +
- + .Uh "User\-Defined Message Sequences"
- + In addition to the \*(lqreserved\*(rq (pre-defined) message names given above,
- + \fIMH\fP supports user-defined sequence names.
- + User-defined sequences allow the \fIMH\fR user a tremendous amount of power
- + in dealing with groups of messages in the same folder
- + by allowing the user to bind a group of messages to a meaningful symbolic
- + name.
- +
- + The name used to denote a message sequence must consist of
- + an alphabetic character followed by zero or more
- + alphanumeric characters, and can not be one of the \*(lqreserved\*(rq
- + message names above.
- + After defining a sequence,
- + it can be used wherever an \fIMH\fR command expects a `msg' or `msgs'
- + argument.
- +
- + Some forms of message ranges are allowed with user-defined
- + sequences. The
- + specification \*(lqname:n\*(rq may be used, and it
- + designates up to the first `n' messages (or last `n' messages for `\-n')
- + which are elements of the user-defined sequence `name'.
- +
- + The specifications \*(lqname:next\*(rq and \*(lqname:prev\*(rq
- + may also be used, and they designate the
- + next or previous message (relative to the current message)
- + which is an element of the user-defined sequence `name'.
- + The specificaitions
- + \*(lqname:first\*(rq and \*(lqname:last\*(rq are equivalent
- + to \*(lqname:1\*(rq and \*(lqname:\-1\*(rq, respectively.
- + The specification \*(lqname:cur\*(rq is not allowed
- + (use just \*(lqcur\*(rq instead).
- + The syntax of these message range
- + specifcations is subject to change
- + in the future.
- +
- + User-defined sequence names
- + are specific to each folder.
- + They are defined using the \fIpick\fP and \fImark\fP commands.
- +
- + .Uh "Public and Private User-Defined Sequences"
- + There are two varieties of sequences: \fIpublic\fR sequences
- + and \fIprivate\fR sequences.
- + \fIPublic\fR sequences of a folder are accessible to any \fIMH\fR user that
- + can read that folder and are kept in the \&.mh\(rusequences file in the folder.
- + \fIPrivate\fR sequences are accessible only to the \fIMH\fR user that defined
- + those sequences and are kept in the user's \fIMH\fR context file.
- + By default,
- + \fIpick\fR and \fImark\fR create \fIpublic\fR sequences
- + if the folder for which the sequences are being defined is writable by the
- + \fIMH\fR user.
- + Otherwise, \fIprivate\fR sequences are created.
- + This can be overridden with the `\-public' and `\-private' switches
- + to \fImark\fP.
- +
- + .Uh "Sequence Negation"
- + \fIMH\fP provides the ability to select all messages
- + not elements of a user-defined sequence. To do this,
- + the user should define the entry
- + \*(lqSequence\-Negation\*(rq in the \fIMH\fR profile file;
- + its value may be any string.
- + This string is then used to preface an existing user-defined
- + sequence name. This specification then refers to those messages
- + not elements of the specified sequence name.
- + For example, if the profile entry is:
- +
- + .ti +.5i
- + Sequence\-Negation:\^ not
- +
- + then anytime an \fIMH\fR command is given \*(lqnotfoo\*(rq as a `msg' or
- + `msgs' argument,
- + it would substitute all messages that are not elements of the sequence
- + \*(lqfoo\*(rq.
- +
- + Obviously,
- + the user should beware of defining sequences with names that
- + begin with the value of the
- + \*(lqSequence\-Negation\*(rq profile entry.
- +
- + .Uh "The Previous Sequence"
- + \fIMH\fR provides the ability
- + to remember the `msgs' or
- + `msg' argument last given to an \fIMH\fR command.
- + The entry \*(lqPrevious\-Sequence\*(rq should be defined in the
- + \fIMH\fR profile; its value should be a sequence name or multiple
- + sequence names separated by spaces.
- + If this entry is defined, when
- + when an \fIMH\fP command finishes,
- + it will define the sequence(s) named in the value of this entry to be
- + those messages that were specified to the command.
- + Hence, a profile entry of
- +
- + .ti +.5i
- + Previous\-Sequence:\^ pseq
- +
- + directs any \fIMH\fR command that accepts a `msg' or `msgs' argument to
- + define the sequence \*(lqpseq\*(rq as those messages when it finishes.
- +
- + \fBNote:\fP there can be a performance penalty in using the
- + \*(lqPrevious\-Sequence\*(rq facility.
- + If it is used,
- + \fBall\fP \fIMH\fR programs have to write the sequence information
- + to the \&.mh\(rusequences file for
- + the folder each time they run.
- + If the \*(lqPrevious\-Sequence\*(rq profile entry is not included,
- + only \fIpick\fR and \fImark\fR will write to the \&.mh\(rusequences file.
- +
- + .Uh "The Unseen Sequence"
- + Finally, some users like to indicate messages which have not been
- + previously seen by them.
- + Both \fIinc\fR and \fIshow\fR honor the profile entry
- + \*(lqUnseen\-Sequence\*(rq to support this activity.
- + This entry in the \&.mh\(ruprofile should be defined
- + as one or more sequence names separated by spaces.
- + If there is a value for \*(lqUnseen\-Sequence\*(rq in the profile,
- + then whenever \fIinc\fR places new messages in a folder,
- + the new messages will also be added to the sequence(s) named
- + in the value of this entry.
- + Hence, a profile entry of
- +
- + .ti +.5i
- + Unseen\-Sequence:\^ unseen
- +
- + directs \fIinc\fR to add new messages to the sequence \*(lqunseen\*(rq.
- + Unlike the behavior of the \*(lqPrevious\-Sequence\*(rq entry in the profile,
- + however, the sequence(s) will \fBnot\fR be zeroed by \fIinc\fP.
- +
- + Similarly,
- + whenever \fIshow\fR (or \fInext\fR or \fIprev\fR\^) displays a message,
- + that message will be removed
- + from any sequences named by the
- + \*(lqUnseen\-Sequence\*(rq entry in the profile.
- +
- + .Fi
- + ^$HOME/\&.mh\(ruprofile~^The user profile
- + ^<mh\-dir>/context~^The user context
- + ^<folder>/\&.mh\(rusequences~^Public sequences for <folder>
- + .Pr
- + ^Sequence\-Negation:~^To designate messages not in a sequence
- + .Ps
- + ^Previous\-Sequence:~^The last message specification given
- + .Ps
- + ^Unseen\-Sequence:~^Those messages not yet seen by the user
- + .Sa
- + mh(1), mark(1), pick(1), mh-profile(5)
- + .De
- + None
- + .Co
- + All
- + .Bu
- + User-defined sequences are stored in the \&.mh\(rusequences file
- + as a series of message specifications separated by spaces.
- + If a user-defined sequence contains too many individual
- + message specifications,
- + that line in the file may become too long for \fIMH\fP to handle.
- + This will generate the error message \*(lq\&.mh\(rusequences is
- + poorly formatted\*(rq. You'll have to edit the file by hand to
- + remove the offending line.
- +
- + This can happen to users who define the \*(lqPrevious\-Sequence\*(rq entry in
- + the \fIMH\fP profile
- + and have a folder containing many messages with gaps in the numbering.
- + A workaround for large folders is to minimize numbering gaps by using
- + \*(lqfolder\ \-pack\*(rq often.
- + .En
- *** ../mh-6.7-dist/conf/doc/mh-tailor.rf Fri Dec 14 13:23:56 1990
- --- conf/doc/mh-tailor.rf Mon Jan 7 16:13:31 1991
- ***************
- *** 1,13 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: mh-tailor.rf,v 2.9 90/04/09 09:33:58 sources Exp $
- ! .if !'\*(ZZ'-man' \{\
- ! .rm SS
- ! .de SS
- ! .sp
- ! .in .25i
- ! .b "\\s-2\&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6\\s0"
- ! .sp
- ! .in .5i
- ! ..
- ! .\}
- .SC MH\-TAILOR 5
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: mh-tailor.rf,v 2.11 91/01/07 16:13:27 mh Exp $
- .SC MH\-TAILOR 5
- ***************
- *** 87,89 ****
- A value of \*(lq0\*(rq means to use \fIflock\fR if available,
- ! standard \fIBellMail\fR locking otherwise.
- A value of \*(lq1\*(rq means to use \fIBellMail\fR locking always
- --- 77,81 ----
- A value of \*(lq0\*(rq means to use \fIflock\fR if available,
- ! or \fIlockf\fR if \fBLOCKF\fP was defined when building \fIMH\fP.
- ! On non-\fBBSD42\fP systems,
- ! standard \fIBellMail\fR locking is used.
- A value of \*(lq1\*(rq means to use \fIBellMail\fR locking always
- ***************
- *** 97,99 ****
- The name of the directory for making locks.
- ! If your system doesn't have the \fIflock\fR syscall,
- then this directory is used when creating locks.
- --- 89,91 ----
- The name of the directory for making locks.
- ! If your system doesn't have the \fIflock\fR or \fIlockf\fP syscalls,
- then this directory is used when creating locks.
- ***************
- *** 123,125 ****
- .\" @BEGIN: MF
- ! .SS "Mail Filtering"
- These options are only available if you compiled \fIMH\fP with
- --- 115,118 ----
- .\" @BEGIN: MF
- ! .in -.5i
- ! .Uh "Mail Filtering"
- These options are only available if you compiled \fIMH\fP with
- ***************
- *** 155,157 ****
- .\" @BEGIN: MHMTS
- ! .SS "Stand-Alone Delivery"
- These options are only available if you compiled \fIMH\fP
- --- 148,151 ----
- .\" @BEGIN: MHMTS
- ! .in -.5i
- ! .Uh "Stand-Alone Delivery"
- These options are only available if you compiled \fIMH\fP
- ***************
- *** 216,218 ****
- .\" @BEGIN: SMTP
- ! .SS "The \*(lq/smtp\*(rq MTS Suffix"
- These options are only available if you compiled \fIMH\fP with
- --- 210,213 ----
- .\" @BEGIN: SMTP
- ! .in -.5i
- ! .Uh "The `/smtp' MTS Suffix"
- These options are only available if you compiled \fIMH\fP with
- ***************
- *** 257,259 ****
- .\" @BEGIN: SENDMTS
- ! .SS "SendMail"
- This option is only available if you compiled \fIMH\fP to
- --- 252,255 ----
- .\" @BEGIN: SENDMTS
- ! .in -.5i
- ! .Uh "SendMail"
- This option is only available if you compiled \fIMH\fP to
- ***************
- *** 268,270 ****
- .\" @BEGIN: POP
- ! .SS "Post Office Protocol"
- This option is only available if you compiled \fIMH\fP with POP
- --- 264,267 ----
- .\" @BEGIN: POP
- ! .in -.5i
- ! .Uh "Post Office Protocol"
- This option is only available if you compiled \fIMH\fP with POP
- ***************
- *** 282,284 ****
- .\" @BEGIN: BBSERVER
- ! .SS "BBoards Delivery"
- This option is only available if you compiled \fIMH\fP with
- --- 279,282 ----
- .\" @BEGIN: BBSERVER
- ! .in -.5i
- ! .Uh "BBoards Delivery"
- This option is only available if you compiled \fIMH\fP with
- ***************
- *** 293,295 ****
- .\" @BEGIN: BPOP
- ! .SS "BBoards & The POP"
- These options are only available if you compiled \fIMH\fP with
- --- 291,294 ----
- .\" @BEGIN: BPOP
- ! .in -.5i
- ! .Uh "BBoards & The POP"
- These options are only available if you compiled \fIMH\fP with
- ***************
- *** 323,325 ****
- .\" @BEGIN: NNTP
- ! .SS "BBoards & The NNTP"
- This option is only available if you compiled \fIMH\fP with
- --- 322,325 ----
- .\" @BEGIN: NNTP
- ! .in -.5i
- ! .Uh "BBoards & The NNTP"
- This option is only available if you compiled \fIMH\fP with
- ***************
- *** 335,337 ****
- .in -.5i
- !
- A few words on locking:
- --- 335,337 ----
- .in -.5i
- ! .Uh "File Locking"
- A few words on locking:
- ***************
- *** 343,346 ****
- The \*(lqlockstyle\*(rq variable can take on three values: 0, 1, 2.
- ! A value of 0 says to use the flock syscall if you're running on 4.2BSD,
- ! (otherwise use a locking style of 1).
- A value of 1 or 2 specifies that a file should be created whose existence
- --- 343,350 ----
- The \*(lqlockstyle\*(rq variable can take on three values: 0, 1, 2.
- ! A value of 0 is useful on \fBBSD42\fP systems.
- ! If you included the \fBLOCKF\fP option when building \fIMH\fP, the
- ! \fIlockf\fP syscall is used, otherwise the \fIflock\fP syscall is used.
- ! If you're not on a 4.2BSD system,
- ! a locking style of 0 is considered the same as locking style 1.
- !
- A value of 1 or 2 specifies that a file should be created whose existence
- *** ../mh-6.7-dist/conf/doc/mh.rf Fri Dec 14 13:23:56 1990
- --- conf/doc/mh.rf Mon Jan 7 16:56:42 1991
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: mh.rf,v 1.9 90/04/05 15:08:50 sources Exp $
- .if '\*(ZZ'-man' \{\
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: mh.rf,v 1.10 91/01/07 16:56:36 mh Exp $
- .if '\*(ZZ'-man' \{\
- ***************
- *** 201,202 ****
- --- 201,203 ----
- ^mh\-profile (5)~^\- user customization for MH message system
- + ^mh\-sequence (5)~^\- sequence specification for MH message system
- .sp 1
- *** ../mh-6.7-dist/conf/doc/next.rf Fri Dec 14 13:23:58 1990
- --- conf/doc/next.rf Mon Dec 17 16:03:38 1990
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: next.rf,v 1.5 90/04/05 15:13:47 sources Exp $
- .SC NEXT 1
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: next.rf,v 1.6 90/12/17 16:03:31 mh Exp $
- .SC NEXT 1
- ***************
- *** 32,35 ****
- `+folder' defaults to the current folder
- - .Ds
- - `\-format'
- .Ds
- --- 32,33 ----
- *** ../mh-6.7-dist/conf/doc/pick.rf Fri Dec 14 13:23:58 1990
- --- conf/doc/pick.rf Tue Dec 18 14:57:43 1990
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: pick.rf,v 1.5 90/04/05 15:14:01 sources Exp $
- .SC PICK 1
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: pick.rf,v 1.6 90/12/18 14:57:30 mh Exp $
- .SC PICK 1
- ***************
- *** 85,86 ****
- --- 85,92 ----
-
- + Note that since the `\-date' switch is a pattern matching operation (as
- + described above),
- + to find messages sent on a certain date
- + the pattern string must match the text of the
- + \*(lqDate:\*(rq field of the message.
- +
- Independent of any pattern matching operations requested,
- ***************
- *** 92,99 ****
- the `\-datefield\ field' switch may be used.
- ! \fIPick\fR will actually parse the date fields in each of the messages
- specified in `msgs'
- ! (unlike the `\-date' switch described above which does a pattern matching
- ! operation),
- ! and compare them to the date/time specified by use of the `\-after'
- ! and `\-before' switches.
- If `\-after' is given,
- --- 98,104 ----
- the `\-datefield\ field' switch may be used.
- !
- ! With `\-before' and `\-after',
- ! \fIpick\fR will actually parse the date fields in each of the messages
- specified in `msgs'
- ! and compare them to the date/time specified.
- If `\-after' is given,
- ***************
- *** 111,112 ****
- --- 116,118 ----
- All defaults are taken from the current date, time, and timezone.
- +
- In addition to 822\-style dates,
- ***************
- *** 115,117 ****
- and the special dates
- ! \*(lqtoday\*(rq, \*(lqyesterday\*(rq, and \*(lqtomorrow\*(rq.
- All days of the week are judged to refer to a day in the past
- --- 121,124 ----
- and the special dates
- ! \*(lqtoday\*(rq, \*(lqyesterday\*(rq (24 hours ago),
- ! and \*(lqtomorrow\*(rq (24 hours from now).
- All days of the week are judged to refer to a day in the past
- ***************
- *** 120,121 ****
- --- 127,129 ----
- not \*(lqthis\ saturday\*(rq).
- +
- Finally, in addition to these special specifications,
- *** ../mh-6.7-dist/conf/doc/prev.rf Fri Dec 14 13:23:59 1990
- --- conf/doc/prev.rf Mon Dec 17 16:03:40 1990
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: prev.rf,v 1.5 90/04/05 15:14:42 sources Exp $
- .SC PREV 1
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: prev.rf,v 1.6 90/12/17 16:03:39 mh Exp $
- .SC PREV 1
- ***************
- *** 32,35 ****
- `+folder' defaults to the current folder
- - .Ds
- - `\-format'
- .Ds
- --- 32,33 ----
- *** ../mh-6.7-dist/conf/doc/prompter.rf Fri Dec 14 13:23:59 1990
- --- conf/doc/prompter.rf Tue Dec 18 15:12:08 1990
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: prompter.rf,v 1.6 90/04/05 15:09:05 sources Exp $
- .SC PROMPTER 1
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: prompter.rf,v 1.7 90/12/18 15:12:01 mh Exp $
- .SC PROMPTER 1
- ***************
- *** 102,103 ****
- --- 102,112 ----
- None
- + .Hh
- + The `\-rapid' option is particularly useful with \fIforw\fP, and
- + `\-noprepend' is useful with \fIcomp\ \-use\fP.
- +
- + The user may wish to link \fIprompter\fR under several names
- + (e.g., \*(lqrapid\*(rq) and give appropriate switches
- + in the profile entries under these names (e.g., \*(lqrapid: -rapid\*(rq).
- + This facilitates invoking prompter differently for
- + different \fIMH\fP commands (e.g., \*(lqforw: -editor rapid\*(rq).
- .Bu
- *** ../mh-6.7-dist/conf/doc/refile.rf Fri Dec 14 13:24:00 1990
- --- conf/doc/refile.rf Fri Jan 25 15:22:04 1991
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: refile.rf,v 1.5 90/04/05 15:14:54 sources Exp $
- .SC REFILE 1
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: refile.rf,v 1.8 91/01/14 16:43:06 mh Exp $
- .SC REFILE 1
- ***************
- *** 13,14 ****
- --- 13,15 ----
- \%[\-file\ file]
- + \%[\-rmmproc program] \%[\-normmproc]
- +folder ...
- ***************
- *** 61,66 ****
- If `\-link' is not specified (or `\-nolink' is specified),
- ! the filed messages will be removed (\fIunlink\fR\0(2)) from the
- ! source folder,
- ! similar to the way \fImv\fR\0(1) works.
-
- If the user has a profile component such as
- --- 62,68 ----
- If `\-link' is not specified (or `\-nolink' is specified),
- ! the filed messages will be removed from the
- ! source folder, by renaming them with a site-dependent prefix (usually
- ! a comma).
-
- + .ne 4
- If the user has a profile component such as
- ***************
- *** 69,73 ****
-
- ! then instead of simply renaming the message file,
- ! \fIrefile\fR
- ! will call the named program to delete the file.
-
- --- 71,79 ----
-
- ! then \fIrefile\fR
- ! will instead call the named program to delete the message files.
- ! The user may specify `\-rmmproc program' on the command line
- ! to override this profile specification.
- ! The \`-normmproc' option forces
- ! the message files to be deleted
- ! by renaming them as described above.
-
- ***************
- *** 106,107 ****
- --- 112,118 ----
- See \fImh\-profile\fR\0(1) for information concerning the previous sequence.
- + .Bu
- + Since \fIrefile\fR uses your \fIrmmproc\fP to delete the message,
- + the \fIrmmproc\fP must \fBNOT\fP call \fIrefile\fP without
- + specifying `\-normmproc',
- + or you will create an infinte loop.
- .En
- *** ../mh-6.7-dist/conf/doc/repl.rf Fri Dec 14 13:24:00 1990
- --- conf/doc/repl.rf Mon Dec 17 16:00:43 1990
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: repl.rf,v 1.9 90/04/05 15:09:27 sources Exp $
- .SC REPL 1
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: repl.rf,v 1.10 90/12/17 16:00:35 mh Exp $
- .SC REPL 1
- ***************
- *** 209,212 ****
- `\-nocc\ all' at ATHENA sites, `\-cc\ all' otherwise
- - .Ds
- - `\-format'
- .Ds
- --- 209,210 ----
- *** ../mh-6.7-dist/conf/doc/rmm.rf Fri Dec 14 13:24:00 1990
- --- conf/doc/rmm.rf Fri Jan 25 15:22:30 1991
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: rmm.rf,v 1.5 90/04/05 15:15:12 sources Exp $
- .SC RMM 1
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: rmm.rf,v 1.10 91/01/25 15:22:28 mh Exp $
- .SC RMM 1
- ***************
- *** 53,54 ****
- --- 53,59 ----
- If a folder is given, it will become the current folder.
- + .Bu
- + Since \fIrefile\fR uses your \fIrmmproc\fP to delete the message,
- + the \fIrmmproc\fP must \fBNOT\fP call \fIrefile\fP without
- + specifying `\-normmproc',
- + or you will create an infinte loop.
- .En
- *** ../mh-6.7-dist/conf/doc/scan.rf Fri Dec 14 13:24:01 1990
- --- conf/doc/scan.rf Mon Jan 7 11:13:54 1991
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: scan.rf,v 1.8 90/04/05 15:10:08 sources Exp $
- .SC SCAN 1
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: scan.rf,v 1.9 91/01/07 11:13:47 mh Exp $
- .SC SCAN 1
- ***************
- *** 14,15 ****
- --- 14,16 ----
- \%[\-reverse] \%[\-noreverse]
- + \%[\-file filename]
- \%[\-help]
- ***************
- *** 96,98 ****
- Also, if no date header was present in the message, the \fIfunction\fR
- ! escapes which operate on {\fIdate\|} will return values for the
- date of last modification of the message file itself.
- --- 97,99 ----
- Also, if no date header was present in the message, the \fIfunction\fR
- ! escapes which operate on {\fIdate\fP\|} will return values for the
- date of last modification of the message file itself.
- ***************
- *** 99,100 ****
- --- 100,102 ----
-
- +
- \fIscan\fR will update the \fIMH\fR context prior to starting the listing,
- ***************
- *** 140,142 ****
- any following headers with the same component name are ignored.
- ! .br
- The switch `\-reverse', makes \fIscan\fR list the messages
- --- 142,144 ----
- any following headers with the same component name are ignored.
- ! .sp
- The switch `\-reverse', makes \fIscan\fR list the messages
- ***************
- *** 143,144 ****
- --- 145,152 ----
- in reverse order; this should be considered a bug.
- + .sp
- + The `\-file filename' switch allows the user to obtain a \fIscan\fP
- + listing of a maildrop file as produced by \fIpackf\fP. This listing
- + includes every message in the file. The user should use \fImsh\fP
- + for more selective processing of the file. `\-reverse' is ignored
- + with this option.
- .En
- *** ../mh-6.7-dist/conf/doc/tmac.h Fri Dec 14 13:24:02 1990
- --- conf/doc/tmac.h Mon Jan 7 16:12:51 1991
- ***************
- *** 1,5 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: tmac.h,v 1.5 90/04/05 15:40:17 sources Exp $
- .\" Try to keep only one copy of the documentation around
- .\" by re-defining macros and so forth.
- .\"
- --- 1,5 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: tmac.h,v 1.6 91/01/07 16:12:37 mh Exp $
- .\" Try to keep only one copy of the documentation around
- .\" by re-defining macros and so forth.
- .\"
- ***************
- *** 66,69 ****
- --- 66,73 ----
- ..
- .de ip
- .IP "\\$1" \\$2
- + ..
- + .de Uh
- + .ne 4
- + .SS "\\$1"
- ..
- *** ../mh-6.7-dist/conf/doc/whatnow.rf Fri Dec 14 13:24:02 1990
- --- conf/doc/whatnow.rf Tue Dec 18 15:44:41 1990
- ***************
- *** 1,3 ****
- .\" @(MHWARNING)
- ! .\" @(#)$Id: whatnow.rf,v 1.6 90/04/05 15:09:20 sources Exp $
- .SC WHATNOW 1
- --- 1,3 ----
- .\" @(MHWARNING)
- ! .\" @(#)$Id: whatnow.rf,v 1.7 90/12/18 15:44:22 mh Exp $
- .SC WHATNOW 1
- ***************
- *** 24,26 ****
- prompts the user with \*(lqWhat now?\*(rq and awaits a response.
- ! The valid responses are
- .nf
- --- 24,27 ----
- prompts the user with \*(lqWhat now?\*(rq and awaits a response.
- ! The valid responses are:
- !
- .nf
- ***************
- *** 111,112 ****
- --- 112,120 ----
- it with a leading comma); failure of a later edit preverves the draft.
- +
- + If \fIwhatnowproc\fR is \fIwhatnow\fR,
- + then \fIcomp\fR, \fIdist\fP, \fIforw\fP, and \fIrepl\fP use
- + a built\-in \fIwhatnow\fR,
- + and do not actually run the \fIwhatnow\fR program.
- + Hence, if you define your own \fIwhatnowproc\fR,
- + don't call it \fIwhatnow\fR since it won't be run.
-
- *** /dev/null Fri Jan 25 16:03:46 1991
- --- conf/examples/uci.sun Fri Jan 25 09:27:34 1991
- ***************
- *** 0 ****
- --- 1,39 ----
- + # uci.sun - for a Sun3 or Sun4 running Sun OS 4.1
- + bin /usr/local
- + bbhome /usr/bboards
- + etc /usr/local/lib/mh
- + mail /usr/spool/mail
- + mailgroup off
- + mandir /usr/man
- + manuals local
- + chown /etc/chown
- + editor prompter
- + remove mv -f
- + mts mmdf2/smtp
- + bboards nntp
- + bbdelivery off
- + mf off
- + pop on
- + options BIND
- + options BSD42
- + options BSD43
- + options DBM
- + options LOCKF
- + options MHE
- + options MHRC
- + options NFS
- + options POP2
- + options RPATHS
- + options RPOP
- + options SUN40
- + options SUNVIBUG
- + options TYPESIG=void
- + options WHATNOW
- + options UCI
- + #options ZONEINFO
- + ldoptions -s
- + ldoptlibs -ldbm
- + curses -lcurses -ltermcap
- + ranlib on
- + sharedlib on
- + slibdir /usr/local/lib
- *** ../mh-6.7-dist/conf/makefiles/doc Fri Dec 14 13:24:08 1990
- --- conf/makefiles/doc Fri Jan 25 15:49:13 1991
- ***************
- *** 4,6 ****
- # @(MHWARNING)
- ! # @(#)$Id: doc,v 2.10 90/04/08 15:06:00 sources Exp $
- ##############################################################################
- --- 4,6 ----
- # @(MHWARNING)
- ! # @(#)$Id: doc,v 2.12 91/01/25 15:49:10 mh Exp $
- ##############################################################################
- ***************
- *** 60,65 ****
- MAN5 = mh-alias.$(EXT5) mh-format.$(EXT5) mh-mail.$(EXT5) \
- ! mh-profile.$(EXT5)
- ! man5 = mh-alias mh-format mh-mail mh-profile
- ! inst-man5= inst-mh-alias inst-mh-format inst-mh-mail inst-mh-profile
- ! Tman5 = mh-alias.man mh-format.man mh-mail.man mh-profile.man
-
- --- 60,67 ----
- MAN5 = mh-alias.$(EXT5) mh-format.$(EXT5) mh-mail.$(EXT5) \
- ! mh-profile.$(EXT5) mh-sequence.$(EXT5)
- ! man5 = mh-alias mh-format mh-mail mh-profile mh-sequence
- ! inst-man5= inst-mh-alias inst-mh-format inst-mh-mail inst-mh-profile \
- ! inst-mh-sequence
- ! Tman5 = mh-alias.man mh-format.man mh-mail.man mh-profile.man \
- ! mh-sequence.man
-
- ***************
- *** 66,73 ****
- MAN8 = ap.$(EXT8) conflict.$(EXT8) dp.$(EXT8) install-mh.$(EXT8) \
- ! post.$(EXT8) mh-tailor.$(EXT8)
- ! man8 = ap conflict dp install-mh post mh-tailor
- inst-man8= inst-ap inst-conflict inst-dp inst-install-mh inst-post \
- ! inst-mh-tailor
- Tman8 = ap.man conflict.man dp.man install-mh.man post.man \
- ! mh-tailor.man
-
- --- 68,75 ----
- MAN8 = ap.$(EXT8) conflict.$(EXT8) dp.$(EXT8) install-mh.$(EXT8) \
- ! post.$(EXT8) mh-tailor.$(EXT8) fmtdump.$(EXT8)
- ! man8 = ap conflict dp install-mh post mh-tailor fmtdump
- inst-man8= inst-ap inst-conflict inst-dp inst-install-mh inst-post \
- ! inst-mh-tailor inst-fmtdump
- Tman8 = ap.man conflict.man dp.man install-mh.man post.man \
- ! mh-tailor.man fmtdump.man
-
- ***************
- *** 278,279 ****
- --- 280,290 ----
-
- + inst-fmtdump: $(MANDIR)/$(DIR8)/fmtdump.$(EXT8)
- +
- + $(MANDIR)/$(DIR8)/fmtdump.$(EXT8): fmtdump.man
- + -$(REMOVE) $@ zfmtdump.man
- + cp fmtdump.man $@
- + -@chmod $(MANPROT) $@
- + -@ls -l $@
- + -@echo ""
- +
- inst-forw: $(MANDIR)/$(DIR1)/forw.$(EXT1)
- ***************
- *** 368,369 ****
- --- 379,389 ----
-
- + inst-mh-sequence: $(MANDIR)/$(DIR5)/mh-sequence.$(EXT5)
- +
- + $(MANDIR)/$(DIR5)/mh-sequence.$(EXT5): mh-sequence.man
- + -$(REMOVE) $@ zmh-sequence.man
- + cp mh-sequence.man $@
- + -@chmod $(MANPROT) $@
- + -@ls -l $@
- + -@echo ""
- +
- inst-mhook: $(MANDIR)/$(DIR1)/mhook.$(EXT1)
- ***************
- *** 621,622 ****
- --- 641,643 ----
- dp: dp.man
- + fmtdump: fmtdump.man
- folder: folder.man
- ***************
- *** 631,632 ****
- --- 652,654 ----
- mh-profile: mh-profile.man
- + mh-sequence: mh-sequence.man
- mh-tailor: mh-tailor.man
- ***************
- *** 665,667 ****
- whatnow.me whom.me mh-alias.me mh-format.me mh-mail.me \
- ! mh-profile.me ap.me conflict.me dp.me install-mh.me post.me \
- @BEGIN: TMA
- --- 687,690 ----
- whatnow.me whom.me mh-alias.me mh-format.me mh-mail.me \
- ! mh-profile.me mh-sequence.me \
- ! ap.me conflict.me dp.me install-mh.me fmtdump.me post.me \
- @BEGIN: TMA
- *** ../mh-6.7-dist/conf/makefiles/support/bboards Fri Dec 14 13:24:09 1990
- --- conf/makefiles/support/bboards Tue Dec 18 13:34:39 1990
- ***************
- *** 4,6 ****
- # @(MHWARNING)
- ! # @(#)$Id: bboards,v 2.7 90/04/05 15:16:08 sources Exp $
- ##############################################################################
- --- 4,6 ----
- # @(MHWARNING)
- ! # @(#)$Id: bboards,v 2.9 90/12/18 13:34:38 mh Exp $
- ##############################################################################
- ***************
- *** 28,29 ****
- --- 28,35 ----
- CC = @(MHCOMPILER)
- + @BEGIN: STDLIB
- + LD = @(MHCOMPILER)
- + @END: STDLIB
- + @BEGIN: SHAREDLIB
- + LD = LD_LIBRARY_PATH=../../sbr @(MHCOMPILER)
- + @END: SHAREDLIB
- @BEGIN: OPTIM
- ***************
- *** 45,47 ****
- LDLIBS2 = $(LIBES2) $(LDOPTLIB)
- ! LDLIBS2 = ../../config/config.o -Bdynamic -L../../sbr -lmh \
- $(LIBES1) $(LDOPTLIB)
- --- 51,53 ----
- LDLIBS2 = $(LIBES2) $(LDOPTLIB)
- ! LDLIBS2 = ../../config/config.o -Bdynamic @(SLDFLAG) -lmh \
- $(LIBES1) $(LDOPTLIB)
- ***************
- *** 120,122 ****
- xbbaka: bbaka.o $(LIBES1)
- ! $(CC) $(LDFLAGS) -o $@ bbaka.o $(LDLIBS1)
-
- --- 126,128 ----
- xbbaka: bbaka.o $(LIBES1)
- ! $(LD) $(LDFLAGS) -o $@ bbaka.o $(LDLIBS1)
-
- ***************
- *** 141,143 ****
- xbbexp: bbexp.o ../../uip/dropsbr.o $(LIBES2)
- ! $(CC) $(LDFLAGS) -o $@ bbexp.o ../../uip/dropsbr.o $(LDLIBS2)
-
- --- 147,149 ----
- xbbexp: bbexp.o ../../uip/dropsbr.o $(LIBES2)
- ! $(LD) $(LDFLAGS) -o $@ bbexp.o ../../uip/dropsbr.o $(LDLIBS2)
-
- ***************
- *** 162,164 ****
- xbbtar: bbtar.o $(LIBES1)
- ! $(CC) $(LDFLAGS) -o $@ bbtar.o $(LDLIBS1)
-
- --- 168,170 ----
- xbbtar: bbtar.o $(LIBES1)
- ! $(LD) $(LDFLAGS) -o $@ bbtar.o $(LDLIBS1)
-
- *** ../mh-6.7-dist/conf/makefiles/support/pop Fri Dec 14 13:24:09 1990
- --- conf/makefiles/support/pop Tue Dec 18 13:34:38 1990
- ***************
- *** 4,6 ****
- # @(MHWARNING)
- ! # @(#)$Id: pop,v 2.7 90/11/05 16:06:03 mh Exp $
- ##############################################################################
- --- 4,6 ----
- # @(MHWARNING)
- ! # @(#)$Id: pop,v 2.9 90/12/18 13:34:33 mh Exp $
- ##############################################################################
- ***************
- *** 26,27 ****
- --- 26,33 ----
- CC = @(MHCOMPILER)
- + @BEGIN: STDLIB
- + LD = @(MHCOMPILER)
- + @END: STDLIB
- + @BEGIN: SHAREDLIB
- + LD = LD_LIBRARY_PATH=../../sbr @(MHCOMPILER)
- + @END: SHAREDLIB
- @BEGIN: OPTIM
- ***************
- *** 43,45 ****
- LDLIBS2 = ../../config/config.o ../../config/version.o \
- ! -Bdynamic -L../../sbr -lmh $(LIBES1) $(LDOPTLIB)
- @END: SHAREDLIB
- --- 49,51 ----
- LDLIBS2 = ../../config/config.o ../../config/version.o \
- ! -Bdynamic @(SLDFLAG) -lmh $(LIBES1) $(LDOPTLIB)
- @END: SHAREDLIB
- ***************
- *** 95,97 ****
- ../../uip/dropsbr.o $(LIBES2)
- ! $(CC) $(LDFLAGS) -o $@ popd.o popser.o syslog.o \
- ../../uip/dropsbr.o $(LDLIBS2)
- --- 101,103 ----
- ../../uip/dropsbr.o $(LIBES2)
- ! $(LD) $(LDFLAGS) -o $@ popd.o popser.o syslog.o \
- ../../uip/dropsbr.o $(LDLIBS2)
- ***************
- *** 118,120 ****
- xpopaka: popaka.o $(LIBES1)
- ! $(CC) $(LDFLAGS) -o $@ popaka.o $(LDLIBS1)
-
- --- 124,126 ----
- xpopaka: popaka.o $(LIBES1)
- ! $(LD) $(LDFLAGS) -o $@ popaka.o $(LDLIBS1)
-
- ***************
- *** 142,144 ****
- xpopwrd: popwrd.o $(LIBES1)
- ! $(CC) $(LDFLAGS) -o $@ popwrd.o $(LDLIBS1)
-
- --- 148,150 ----
- xpopwrd: popwrd.o $(LIBES1)
- ! $(LD) $(LDFLAGS) -o $@ popwrd.o $(LDLIBS1)
-
- ***************
- *** 172,174 ****
- xsmtpd: smtpd.o syslog.o
- ! $(CC) $(LDFLAGS) -o $@ smtpd.o syslog.o
-
- --- 178,180 ----
- xsmtpd: smtpd.o syslog.o
- ! $(LD) $(LDFLAGS) -o $@ smtpd.o syslog.o
-
- *** ../mh-6.7-dist/conf/makefiles/uip Fri Dec 14 13:24:10 1990
- --- conf/makefiles/uip Fri Jan 25 15:50:23 1991
- ***************
- *** 4,6 ****
- # @(MHWARNING)
- ! # @(#)$Id: uip,v 2.9 90/04/05 15:17:01 sources Exp $
- ##############################################################################
- --- 4,6 ----
- # @(MHWARNING)
- ! # @(#)$Id: uip,v 2.12 91/01/25 15:50:18 mh Exp $
- ##############################################################################
- ***************
- *** 103,104 ****
- --- 103,110 ----
- CC = @(MHCOMPILER)
- + @BEGIN: STDLIB
- + LD = @(MHCOMPILER)
- + @END: STDLIB
- + @BEGIN: SHAREDLIB
- + LD = LD_LIBRARY_PATH=../sbr @(MHCOMPILER)
- + @END: SHAREDLIB
- @BEGIN: OPTIM
- ***************
- *** 118,120 ****
- ../zotnet/libzot.a
- ! LDLIBES = ../config/config.o -Bdynamic -L../sbr -lmh \
- ../mts/libmts.a ../zotnet/libzot.a
- --- 124,126 ----
- ../zotnet/libzot.a
- ! LDLIBES = ../config/config.o -Bdynamic @(SLDFLAG) -lmh \
- ../mts/libmts.a ../zotnet/libzot.a
- ***************
- *** 133,135 ****
- MISC = ap conflict dp install-mh mhl post rcvdist rcvpack rcvstore \
- ! rcvtty \
- @BEGIN: SENDMTS
- --- 139,141 ----
- MISC = ap conflict dp install-mh mhl post rcvdist rcvpack rcvstore \
- ! rcvtty fmtdump \
- @BEGIN: SENDMTS
- ***************
- *** 147,149 ****
- inst-post inst-rcvdist inst-rcvpack inst-rcvstore inst-rcvtty \
- ! $(IMTSMISC) \
- @BEGIN: SENDMTS
- --- 153,155 ----
- inst-post inst-rcvdist inst-rcvpack inst-rcvstore inst-rcvtty \
- ! inst-fmtdump $(IMTSMISC) \
- @BEGIN: SENDMTS
- ***************
- *** 158,160 ****
- LMISC = l-ap l-conflict l-dp l-install-mh l-mhl l-post l-rcvdist \
- ! l-rcvpack l-rcvstore l-rcvtty $(LMTSMISC) $(LBBMISC) \
- @BEGIN: SENDMTS
- --- 164,167 ----
- LMISC = l-ap l-conflict l-dp l-install-mh l-mhl l-post l-rcvdist \
- ! l-rcvpack l-rcvstore l-rcvtty l-fmtdump \
- ! $(LMTSMISC) $(LBBMISC) \
- @BEGIN: SENDMTS
- ***************
- *** 169,171 ****
- TMISC = xap xconflict xdp xinstall-mh xmhl xpost xrcvdist xrcvpack \
- ! xrcvstore xrcvtty $(TMTSMISC) $(TBBMISC) $(TPOPMISC) \
- $(TSMTSMISC) \
- --- 176,179 ----
- TMISC = xap xconflict xdp xinstall-mh xmhl xpost xrcvdist xrcvpack \
- ! xrcvstore xrcvtty xfmtdump \
- ! $(TMTSMISC) $(TBBMISC) $(TPOPMISC) \
- $(TSMTSMISC) \
- ***************
- *** 217,219 ****
- xali: ali.o aliasbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ ali.o aliasbr.o $(LDLIBS)
-
- --- 225,227 ----
- xali: ali.o aliasbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ ali.o aliasbr.o $(LDLIBS)
-
- ***************
- *** 237,239 ****
- xanno: anno.o annosbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ anno.o annosbr.o $(LDLIBS)
-
- --- 245,247 ----
- xanno: anno.o annosbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ anno.o annosbr.o $(LDLIBS)
-
- ***************
- *** 254,256 ****
- xap: ap.o trmsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ ap.o trmsbr.o $(LDLIBS) $(LDCURSES)
-
- --- 262,264 ----
- xap: ap.o trmsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ ap.o trmsbr.o $(LDLIBS) $(LDCURSES)
-
- ***************
- *** 278,280 ****
- xbbc: bbc.o $(PSHLIB) $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ bbc.o $(PSHLIB) $(LDLIBS)
-
- --- 286,288 ----
- xbbc: bbc.o $(PSHLIB) $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ bbc.o $(PSHLIB) $(LDLIBS)
-
- ***************
- *** 298,300 ****
- xbbl: bbl.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ bbl.o $(LDLIBS)
-
- --- 306,308 ----
- xbbl: bbl.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ bbl.o $(LDLIBS)
-
- ***************
- *** 315,317 ****
- xburst: burst.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ burst.o $(LDLIBS)
-
- --- 323,325 ----
- xburst: burst.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ burst.o $(LDLIBS)
-
- ***************
- *** 332,334 ****
- xcipher: cipher.o $(TMALIB) $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ cipher.o $(TMALIB) $(LDLIBS)
-
- --- 340,342 ----
- xcipher: cipher.o $(TMALIB) $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ cipher.o $(TMALIB) $(LDLIBS)
-
- ***************
- *** 350,352 ****
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ comp.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LDLIBS)
- --- 358,360 ----
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ comp.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LDLIBS)
- ***************
- *** 369,371 ****
- xconflict: conflict.o aliasbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ conflict.o aliasbr.o $(LDLIBS)
-
- --- 377,379 ----
- xconflict: conflict.o aliasbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ conflict.o aliasbr.o $(LDLIBS)
-
- ***************
- *** 386,388 ****
- xdecipher: decipher.o $(TMALIB) $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ decipher.o $(TMALIB) $(LDLIBS)
-
- --- 394,396 ----
- xdecipher: decipher.o $(TMALIB) $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ decipher.o $(TMALIB) $(LDLIBS)
-
- ***************
- *** 404,406 ****
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ dist.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LDLIBS)
- --- 412,414 ----
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ dist.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LDLIBS)
- ***************
- *** 423,425 ****
- xdp: dp.o trmsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ dp.o trmsbr.o $(LDLIBS) $(LDCURSES)
-
- --- 431,433 ----
- xdp: dp.o trmsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ dp.o trmsbr.o $(LDLIBS) $(LDCURSES)
-
- ***************
- *** 428,429 ****
- --- 436,454 ----
-
- + inst-fmtdump: $(ETCDIR)/fmtdump
- +
- + $(ETCDIR)/fmtdump: xfmtdump
- + -$(REMOVE) $@ zfmtdump
- + cp xfmtdump $@
- + -@chmod $(PGMPROT) $@
- + -@ls -l $@
- + -@echo ""
- +
- + fmtdump: xfmtdump
- +
- + xfmtdump: fmtdump.o trmsbr.o $(LIBES)
- + $(LD) $(LDFLAGS) -o $@ fmtdump.o $(LDLIBS) $(LDCURSES)
- +
- + l-fmtdump:; $(LINT) $(LFLAGS) fmtdump.c $(LLIBS)
- +
- +
- inst-folders: inst-folder
- ***************
- *** 444,446 ****
- xfolder: folder.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ folder.o $(LDLIBS)
-
- --- 469,471 ----
- xfolder: folder.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ folder.o $(LDLIBS)
-
- ***************
- *** 462,464 ****
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ forw.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LDLIBS)
- --- 487,489 ----
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ forw.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LDLIBS)
- ***************
- *** 493,495 ****
- dropsbr.o trmsbr.o $(POPLIB) $(TMALIB) $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ inc.o scansbr.o \
- dropsbr.o trmsbr.o $(POPLIB) $(TMALIB) $(LDLIBS) \
- --- 518,520 ----
- dropsbr.o trmsbr.o $(POPLIB) $(TMALIB) $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ inc.o scansbr.o \
- dropsbr.o trmsbr.o $(POPLIB) $(TMALIB) $(LDLIBS) \
- ***************
- *** 513,515 ****
- xinstall-mh: install-mh.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ install-mh.o $(LDLIBS)
-
- --- 538,540 ----
- xinstall-mh: install-mh.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ install-mh.o $(LDLIBS)
-
- ***************
- *** 530,532 ****
- xkdsc: kdsc.o $(KDSLIB) $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ kdsc.o $(KDSLIB) $(LDLIBS)
-
- --- 555,557 ----
- xkdsc: kdsc.o $(KDSLIB) $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ kdsc.o $(KDSLIB) $(LDLIBS)
-
- ***************
- *** 547,549 ****
- xmark: mark.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ mark.o $(LDLIBS)
-
- --- 572,574 ----
- xmark: mark.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ mark.o $(LDLIBS)
-
- ***************
- *** 565,567 ****
- mhlsbr.o trmsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ mhl.o \
- mhlsbr.o trmsbr.o $(LDLIBS) $(LDCURSES)
- --- 590,592 ----
- mhlsbr.o trmsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ mhl.o \
- mhlsbr.o trmsbr.o $(LDLIBS) $(LDCURSES)
- ***************
- *** 584,586 ****
- xmhmail: mhmail.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ mhmail.o $(LDLIBS)
-
- --- 609,611 ----
- xmhmail: mhmail.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ mhmail.o $(LDLIBS)
-
- ***************
- *** 601,603 ****
- xmhpath: mhpath.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ mhpath.o $(LDLIBS)
-
- --- 626,628 ----
- xmhpath: mhpath.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ mhpath.o $(LDLIBS)
-
- ***************
- *** 625,627 ****
- xmsgchk: msgchk.o $(POPLIB) $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ msgchk.o $(POPLIB) $(LDLIBS)
-
- --- 650,652 ----
- xmsgchk: msgchk.o $(POPLIB) $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ msgchk.o $(POPLIB) $(LDLIBS)
-
- ***************
- *** 644,646 ****
- $(PSHLIB) $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ msh.o mshcmds.o vmhsbr.o \
- picksbr.o scansbr.o dropsbr.o mhlsbr.o trmsbr.o \
- --- 669,671 ----
- $(PSHLIB) $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ msh.o mshcmds.o vmhsbr.o \
- picksbr.o scansbr.o dropsbr.o mhlsbr.o trmsbr.o \
- ***************
- *** 665,667 ****
- xpackf: packf.o dropsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ packf.o dropsbr.o $(LDLIBS)
-
- --- 690,692 ----
- xpackf: packf.o dropsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ packf.o dropsbr.o $(LDLIBS)
-
- ***************
- *** 682,684 ****
- xpick: pick.o picksbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ pick.o picksbr.o $(LDLIBS)
-
- --- 707,709 ----
- xpick: pick.o picksbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ pick.o picksbr.o $(LDLIBS)
-
- ***************
- *** 707,709 ****
- aliasbr.o $(MTSBRS) $(TMALIB) $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ post.o \
- aliasbr.o $(MTSBRS) $(TMALIB) $(LDLIBS)
- --- 732,734 ----
- aliasbr.o $(MTSBRS) $(TMALIB) $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ post.o \
- aliasbr.o $(MTSBRS) $(TMALIB) $(LDLIBS)
- ***************
- *** 726,728 ****
- xprompter: prompter.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ prompter.o $(LDLIBS)
-
- --- 751,753 ----
- xprompter: prompter.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ prompter.o $(LDLIBS)
-
- ***************
- *** 743,745 ****
- xrcvdist: rcvdist.o distsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ rcvdist.o distsbr.o $(LDLIBS)
-
- --- 768,770 ----
- xrcvdist: rcvdist.o distsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ rcvdist.o distsbr.o $(LDLIBS)
-
- ***************
- *** 760,762 ****
- xrcvpack: rcvpack.o dropsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ rcvpack.o dropsbr.o $(LDLIBS)
-
- --- 785,787 ----
- xrcvpack: rcvpack.o dropsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ rcvpack.o dropsbr.o $(LDLIBS)
-
- ***************
- *** 777,779 ****
- xrcvstore: rcvstore.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ rcvstore.o $(LDLIBS)
-
- --- 802,804 ----
- xrcvstore: rcvstore.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ rcvstore.o $(LDLIBS)
-
- ***************
- *** 799,801 ****
- scansbr.o trmsbr.o ttyw.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ rcvtty.o \
- scansbr.o trmsbr.o ttyw.o $(LDLIBS) $(LDCURSES)
- --- 824,826 ----
- scansbr.o trmsbr.o ttyw.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ rcvtty.o \
- scansbr.o trmsbr.o ttyw.o $(LDLIBS) $(LDCURSES)
- ***************
- *** 818,820 ****
- xrefile: refile.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ refile.o $(LDLIBS)
-
- --- 843,845 ----
- xrefile: refile.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ refile.o $(LDLIBS)
-
- ***************
- *** 836,838 ****
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ repl.o replsbr.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LDLIBS)
- --- 861,863 ----
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ repl.o replsbr.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LDLIBS)
- ***************
- *** 858,860 ****
- xrmail: rmail.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ rmail.o $(LDLIBS)
-
- --- 883,885 ----
- xrmail: rmail.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ rmail.o $(LDLIBS)
-
- ***************
- *** 875,877 ****
- xrmf: rmf.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ rmf.o $(LDLIBS)
-
- --- 900,902 ----
- xrmf: rmf.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ rmf.o $(LDLIBS)
-
- ***************
- *** 892,894 ****
- xrmm: rmm.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ rmm.o $(LDLIBS)
-
- --- 917,919 ----
- xrmm: rmm.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ rmm.o $(LDLIBS)
-
- ***************
- *** 910,912 ****
- scansbr.o trmsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ scan.o \
- scansbr.o trmsbr.o $(LDLIBS) $(LDCURSES)
- --- 935,937 ----
- scansbr.o trmsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ scan.o \
- scansbr.o trmsbr.o $(LDLIBS) $(LDCURSES)
- ***************
- *** 930,932 ****
- sendsbr.o annosbr.o distsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ send.o \
- sendsbr.o annosbr.o distsbr.o $(LDLIBS)
- --- 955,957 ----
- sendsbr.o annosbr.o distsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ send.o \
- sendsbr.o annosbr.o distsbr.o $(LDLIBS)
- ***************
- *** 958,960 ****
- mhlsbr.o trmsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ show.o \
- mhlsbr.o trmsbr.o $(LDLIBS) $(LDCURSES)
- --- 983,985 ----
- mhlsbr.o trmsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ show.o \
- mhlsbr.o trmsbr.o $(LDLIBS) $(LDCURSES)
- ***************
- *** 984,986 ****
- xsbboards: sbboards.o dropsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ sbboards.o dropsbr.o $(LDLIBS)
-
- --- 1009,1011 ----
- xsbboards: sbboards.o dropsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ sbboards.o dropsbr.o $(LDLIBS)
-
- ***************
- *** 1001,1003 ****
- xslocal: slocal.o aliasbr.o dropsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ slocal.o aliasbr.o dropsbr.o $(LDLIBS)
-
- --- 1026,1028 ----
- xslocal: slocal.o aliasbr.o dropsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ slocal.o aliasbr.o dropsbr.o $(LDLIBS)
-
- ***************
- *** 1018,1020 ****
- xsortm: sortm.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ sortm.o $(LDLIBS)
-
- --- 1043,1045 ----
- xsortm: sortm.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ sortm.o $(LDLIBS)
-
- ***************
- *** 1038,1040 ****
- xspop: spop.o dropsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ spop.o dropsbr.o $(LDLIBS)
-
- --- 1063,1065 ----
- xspop: spop.o dropsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ spop.o dropsbr.o $(LDLIBS)
-
- ***************
- *** 1059,1061 ****
- xspost: spost.o aliasbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ spost.o aliasbr.o $(LDLIBS)
-
- --- 1084,1086 ----
- xspost: spost.o aliasbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ spost.o aliasbr.o $(LDLIBS)
-
- ***************
- *** 1077,1079 ****
- xtma: tma.o $(TMALIB) $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ tma.o $(TMALIB) $(LDLIBS)
-
- --- 1102,1104 ----
- xtma: tma.o $(TMALIB) $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ tma.o $(TMALIB) $(LDLIBS)
-
- ***************
- *** 1094,1096 ****
- xumhook: umhook.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ umhook.o $(LDLIBS) $(LDCURSES)
-
- --- 1119,1121 ----
- xumhook: umhook.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ umhook.o $(LDLIBS) $(LDCURSES)
-
- ***************
- *** 1111,1113 ****
- xvmh: vmh.o vmhsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ vmh.o vmhsbr.o $(LDLIBS) $(LDCURSES)
-
- --- 1136,1138 ----
- xvmh: vmh.o vmhsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ vmh.o vmhsbr.o $(LDLIBS) $(LDCURSES)
-
- ***************
- *** 1117,1119 ****
- xvmhtest: vmhtest.o vmhsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ vmhtest.o vmhsbr.o $(LDLIBS)
-
- --- 1142,1144 ----
- xvmhtest: vmhtest.o vmhsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ vmhtest.o vmhsbr.o $(LDLIBS)
-
- ***************
- *** 1133,1135 ****
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ whatnow.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LDLIBS)
- --- 1158,1160 ----
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ whatnow.o \
- whatnowsbr.o sendsbr.o annosbr.o distsbr.o $(LDLIBS)
- ***************
- *** 1152,1154 ****
- xwhom: whom.o distsbr.o $(LIBES)
- ! $(CC) $(LDFLAGS) -o $@ whom.o distsbr.o $(LDLIBS)
-
- --- 1177,1179 ----
- xwhom: whom.o distsbr.o $(LIBES)
- ! $(LD) $(LDFLAGS) -o $@ whom.o distsbr.o $(LDLIBS)
-
- ***************
- *** 1216,1218 ****
- # xpickle: pickle.o $(LIBES)
- ! # $(CC) $(LDFLAGS) -o $@ pickle.o $(LDLIBS)
- #
- --- 1241,1243 ----
- # xpickle: pickle.o $(LIBES)
- ! # $(LD) $(LDFLAGS) -o $@ pickle.o $(LDLIBS)
- #
- ***************
- *** 1392,1393 ****
- --- 1417,1423 ----
- #forw.o: /usr/include/sys/stat.h
- + fmtdump.o: fmtdump.c
- + fmtdump.o: ../h/mh.h
- + fmtdump.o: ../h/formatsbr.h
- + fmtdump.o: ../h/fmtcompile.h
- + #fmtdump.o: /usr/include/stdio.h
- inc.o: inc.c
- *** ../mh-6.7-dist/conf/mh-gen.8 Fri Dec 14 13:24:11 1990
- --- conf/mh-gen.8 Thu Jan 24 08:28:05 1991
- ***************
- *** 1,2 ****
- ! .\" @(#)$Id: mh-gen.8,v 2.50 90/11/21 09:27:52 mh Exp Locker: mh $
- .\" uneven inter-word spacing (nroff line adjusting) hampers readability
- --- 1,2 ----
- ! .\" @(#)$Id: mh-gen.8,v 2.54 91/01/24 08:27:50 mh Exp $
- .\" uneven inter-word spacing (nroff line adjusting) hampers readability
- ***************
- *** 425,426 ****
- --- 425,433 ----
- .ti -.5i
- + LOCKF
- + .br
- + Directs \fIMH\fP to use the \fBlockf()\fP system call for UNIX-style
- + locking instead of \fBflock()\fP. If you're using NFS to read or
- + write maildrops, you should enable this option.
- +
- + .ti -.5i
- locname
- ***************
- *** 578,579 ****
- --- 585,600 ----
- .ti -.5i
- + SUNVIBUG
- + .br
- + This option causes
- + \fIMH\fP to return to the \*(lqWhat now?\*(rq
- + prompt if your initial editor is \fBvi\fP
- + and it exits with non-zero status.
- + Use on Sun OS 4.1 and other systems where the
- + \fB/usr/ucb/vi\fP editor was changed to
- + exit with its status equal to the number of pseudo-\*(lqerrors\*(rq
- + encountered during the edit. This causes a problem for programs that
- + test the exit status of their editor and abort if the status is non-zero.
- + (This includes \fIMH\fP and programs like \fB/usr/etc/vipw\fP).
- +
- + .ti -.5i
- SYS5
- ***************
- *** 723,736 ****
- .br
- ! The directory where the MH shared library should go.
- ! You'll need to manually run \fIldconfig\fP\0(8) whenever a new
- ! shared object is installed on the system.
-
- ! If you want to
- ! put it somewhere other than \fB/usr/lib\fP or \fB/usr/local/lib\fP
- ! (not advisable), you'll probably have to run \fIldconfig\fR\0(8) on
- ! that directory, or
- ! alter the environment variable \fBLD_LIBRARY_PATH\fP for each
- ! user wishing to use the MH system (this is messy). See
- ! \fIld\fR\0(1) for more information about how to do this.
-
- .ti -.5i
- --- 744,755 ----
- .br
- ! The directory where the \fIMH\fP shared library should go.
-
- ! Since some \fIMH\fP programs are setuid, they'll only look for
- ! the library in \*(lqtrusted\*(rq locations. Putting the library
- ! somewhere besides \fB/usr/lib\fP or \fB/usr/local/lib\fP is not advisable.
-
- + You may need to run \fIldconfig\fP\0(8) manually whenever a new
- + shared object is installed on the system.
- + See \fIld\fR\0(1) for more information about using shared libraries.
- +
- .ti -.5i
- ***************
- *** 777,780 ****
- .PP
- ! Now install the configured files into the source areas. (On SYSTEM 5
- ! systems you may need to use \*(lqmake sys5\*(rq to compile mhconfig.)
- .sp 1
- --- 796,801 ----
- .PP
- ! Now install the configured files into the source areas. (On SYS5
- ! systems, or other systems where you get complaints about
- ! \*(lq_index\*(rq and \*(lq_rindex\*(rq being undefined,
- ! you should use \*(lqmake sys5\*(rq to compile mhconfig.)
- .sp 1
- *** ../mh-6.7-dist/conf/mhconfig.c Fri Dec 14 13:24:11 1990
- --- conf/mhconfig.c Fri Jan 25 14:48:48 1991
- ***************
- *** 1,17 ****
- /* mhconfig.c - configure MH */
- /* cc [-DSYS5] mhconfig.c -o mhconfig */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: mhconfig.c,v 2.26 90/11/05 16:24:55 mh Exp $";
- #endif lint
-
- #include <ctype.h>
- #include <stdio.h>
- !
- #ifdef SYS5
- #define index strchr
- #define rindex strrchr
- #endif SYS5
-
- extern char *strcpy(), *malloc(), *index(), *rindex();
- #ifdef notdef
- extern char *sprintf(); /* rely on stdio.h to declare this */
- --- 1,21 ----
- /* mhconfig.c - configure MH */
- /* cc [-DSYS5] mhconfig.c -o mhconfig */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: mhconfig.c,v 2.30 91/01/25 14:48:44 mh Exp $";
- #endif lint
-
- #include <ctype.h>
- #include <stdio.h>
- ! #ifdef hpux
- ! #define SYS5
- ! #endif
- #ifdef SYS5
- #define index strchr
- #define rindex strrchr
- #endif SYS5
-
- + static void insopt(), mkopts();
- +
- extern char *strcpy(), *malloc(), *index(), *rindex();
- #ifdef notdef
- extern char *sprintf(); /* rely on stdio.h to declare this */
- ***************
- *** 368,377 ****
- fprintf (fp, "/^@BEGIN: RANLIB$/,/^@END: RANLIB$/d\n");
- }
-
- ! if (strcmp (sharedlib, "on") == 0) {
- fprintf (fp, "/^@BEGIN: SHAREDLIB$/d\n/^@END: SHAREDLIB$/d\n");
- fprintf (fp, "/^@BEGIN: STDLIB$/,/^@END: STDLIB$/d\n");
- fprintf (fp, "s%%@(SLIBDIR)%%%s%%g\n",slibdir);
- }
- else {
- fprintf (fp, "/^@BEGIN: STDLIB$/d\n/^@END: STDLIB$/d\n");
- --- 372,385 ----
- fprintf (fp, "/^@BEGIN: RANLIB$/,/^@END: RANLIB$/d\n");
- }
-
- ! if (strcmp (sharedlib, "on") == 0 || strcmp (sharedlib, "secure") == 0) {
- fprintf (fp, "/^@BEGIN: SHAREDLIB$/d\n/^@END: SHAREDLIB$/d\n");
- fprintf (fp, "/^@BEGIN: STDLIB$/,/^@END: STDLIB$/d\n");
- fprintf (fp, "s%%@(SLIBDIR)%%%s%%g\n",slibdir);
- + if (strcmp (sharedlib, "secure") == 0)
- + fprintf (fp, "s%%@(SLDFLAG)%%-L%s%%g\n",slibdir);
- + else
- + fprintf (fp, "s%%@(SLDFLAG)%%%%g\n");
- }
- else {
- fprintf (fp, "/^@BEGIN: STDLIB$/d\n/^@END: STDLIB$/d\n");
- ***************
- *** 683,691 ****
- add_option ("SPRINTFTYPE=int");
- }
-
- ! if (strcmp (sharedlib, "on") && strcmp (sharedlib, "off"))
- ! adios (NULLCP, "sharedlib should be either \"on\" or \"off\", not %s",
- ! sharedlib);
-
- if (strcmp (tma, "on") && strcmp (tma, "off"))
- adios (NULLCP, "tma should be either \"on\" or \"off\", not %s", tma);
- --- 691,701 ----
- add_option ("SPRINTFTYPE=int");
- }
-
- ! if (strcmp (sharedlib, "on") && strcmp (sharedlib, "off")
- ! && strcmp (sharedlib, "secure"))
- ! adios (NULLCP,
- ! "sharedlib should be either \"on\", \"off\", or \"secure\", not %s",
- ! sharedlib);
-
- if (strcmp (tma, "on") && strcmp (tma, "off"))
- adios (NULLCP, "tma should be either \"on\" or \"off\", not %s", tma);
- ***************
- *** 770,776 ****
- *bp++ = *s++;
- }
- (void) strcpy (bp, "\", ");
- ! myopts = stradd (buffer, myopts);
- }
-
-
- --- 780,786 ----
- *bp++ = *s++;
- }
- (void) strcpy (bp, "\", ");
- ! insopt (buffer);
- }
-
-
- ***************
- *** 777,783 ****
- end_myopt () {
- printf ("\n");
- (void) fflush (stdout);
- !
- myopts = stradd ("NULL};", myopts);
- }
-
- --- 787,793 ----
- end_myopt () {
- printf ("\n");
- (void) fflush (stdout);
- ! mkopts();
- myopts = stradd ("NULL};", myopts);
- }
-
- ***************
- *** 898,901 ****
- --- 908,955 ----
- (void) fputc ('\n', stderr);
-
- exit (1);
- + }
- +
- + /* quick and dirty ordering of options for readability */
- +
- + struct opt {
- + char *s;
- + struct opt *n;
- + };
- +
- + static struct opt *optp = (struct opt *)NULL;
- +
- + static void
- + insopt(s)
- + char *s; /* string for sorting */
- + {
- + struct opt *p,
- + *np,
- + *lp = (struct opt *)NULL;
- +
- + if ((np = (struct opt *) malloc ((unsigned) sizeof (struct opt))) ==
- + (struct opt *)NULL)
- + adios (NULL, "unable to malloc opt");
- + np -> s = strdup(s);
- + np -> n = (struct opt *)NULL;
- +
- + for (p = optp; p; lp = p, p = p -> n) {
- + if (strcmp (p->s, s) > 0)
- + break;
- + }
- + if (p)
- + np -> n = p;
- + if (lp)
- + lp -> n = np;
- + else
- + optp = np;
- + }
- +
- + static void
- + mkopts()
- + {
- + struct opt *p;
- +
- + for (p = optp; p; p = p -> n)
- + myopts = stradd (p->s, myopts);
- }
- *** ../mh-6.7-dist/h/fmtcompile.h Fri Dec 14 13:24:15 1990
- --- h/fmtcompile.h Thu Dec 27 17:04:19 1990
- ***************
- *** 1,4 ****
- ! /* @(#)$Id: fmtcompile.h,v 1.4 90/04/05 15:06:42 sources Exp $ */
-
- /* Format Types */
- /* -------------*/
- --- 1,4 ----
- ! /* @(#)$Id: fmtcompile.h,v 1.5 90/12/27 17:04:12 mh Exp $ */
-
- /* Format Types */
- /* -------------*/
- ***************
- *** 58,102 ****
- #define FT_LS_PATH 48 /* set "str" to route part of addr */
- #define FT_LS_GNAME 49 /* set "str" to group part of addr */
- #define FT_LS_NOTE 50 /* set "str" to comment part of addr */
- ! #define FT_LS_822ADDR 51 /* set "str" to 822 format addr */
- ! #define FT_LS_FRIENDLY 52 /* set "str" to "friendly" format addr */
- ! #define FT_LV_HOSTTYPE 53 /* set "value" to addr host type */
- ! #define FT_LV_INGRPF 54 /* set "value" to addr in-group flag */
- ! #define FT_LV_NOHOSTF 55 /* set "value" to addr no-host flag */
-
- /* Date Coercion */
- ! #define FT_LOCALDATE 56 /* Coerce date to local timezone */
- ! #define FT_GMTDATE 57 /* Coerce date to gmt */
-
- /* pre-format processing */
- ! #define FT_PARSEDATE 58 /* parse comp into a date (tws) struct */
- ! #define FT_PARSEADDR 59 /* parse comp into a mailaddr struct */
- ! #define FT_FORMATADDR 60 /* let external routine format addr */
- ! #define FT_MYMBOX 61 /* do "mymbox" test on comp */
-
- /* misc. */
- #ifdef VAN
- ! #define FT_ADDTOSEQ 62 /* add current msg to a sequence */
- #endif
-
- /* conditionals & control flow (must be last) */
- ! #define FT_SAVESTR 63 /* save current str reg */
- ! #define FT_DONE 64 /* stop formatting */
- ! #define FT_NOP 65 /* nop */
- ! #define FT_GOTO 66 /* (relative) goto */
- ! #define FT_IF_S_NULL 67 /* test if "str" null */
- ! #define FT_IF_S 68 /* test if "str" non-null */
- ! #define FT_IF_V_EQ 69 /* test if "value" = literal */
- ! #define FT_IF_V_NE 70 /* test if "value" != literal */
- ! #define FT_IF_V_GT 71 /* test if "value" > literal */
- ! #define FT_IF_MATCH 72 /* test if "str" contains literal */
- ! #define FT_IF_AMATCH 73 /* test if "str" starts with literal */
- ! #define FT_S_NULL 74 /* V = 1 if "str" null */
- ! #define FT_S_NONNULL 75 /* V = 1 if "str" non-null */
- ! #define FT_V_EQ 76 /* V = 1 if "value" = literal */
- ! #define FT_V_NE 77 /* V = 1 if "value" != literal */
- ! #define FT_V_GT 78 /* V = 1 if "value" > literal */
- ! #define FT_V_MATCH 79 /* V = 1 if "str" contains literal */
- ! #define FT_V_AMATCH 80 /* V = 1 if "str" starts with literal */
-
- #define IF_FUNCS FT_S_NULL /* start of "if" functions */
- --- 58,103 ----
- #define FT_LS_PATH 48 /* set "str" to route part of addr */
- #define FT_LS_GNAME 49 /* set "str" to group part of addr */
- #define FT_LS_NOTE 50 /* set "str" to comment part of addr */
- ! #define FT_LS_ADDR 51 /* set "str" to mbox@host */
- ! #define FT_LS_822ADDR 52 /* set "str" to 822 format addr */
- ! #define FT_LS_FRIENDLY 53 /* set "str" to "friendly" format addr */
- ! #define FT_LV_HOSTTYPE 54 /* set "value" to addr host type */
- ! #define FT_LV_INGRPF 55 /* set "value" to addr in-group flag */
- ! #define FT_LV_NOHOSTF 56 /* set "value" to addr no-host flag */
-
- /* Date Coercion */
- ! #define FT_LOCALDATE 57 /* Coerce date to local timezone */
- ! #define FT_GMTDATE 58 /* Coerce date to gmt */
-
- /* pre-format processing */
- ! #define FT_PARSEDATE 59 /* parse comp into a date (tws) struct */
- ! #define FT_PARSEADDR 60 /* parse comp into a mailaddr struct */
- ! #define FT_FORMATADDR 61 /* let external routine format addr */
- ! #define FT_MYMBOX 62 /* do "mymbox" test on comp */
-
- /* misc. */
- #ifdef VAN
- ! #define FT_ADDTOSEQ 63 /* add current msg to a sequence */
- #endif
-
- /* conditionals & control flow (must be last) */
- ! #define FT_SAVESTR 64 /* save current str reg */
- ! #define FT_DONE 65 /* stop formatting */
- ! #define FT_NOP 66 /* nop */
- ! #define FT_GOTO 67 /* (relative) goto */
- ! #define FT_IF_S_NULL 68 /* test if "str" null */
- ! #define FT_IF_S 69 /* test if "str" non-null */
- ! #define FT_IF_V_EQ 70 /* test if "value" = literal */
- ! #define FT_IF_V_NE 71 /* test if "value" != literal */
- ! #define FT_IF_V_GT 72 /* test if "value" > literal */
- ! #define FT_IF_MATCH 73 /* test if "str" contains literal */
- ! #define FT_IF_AMATCH 74 /* test if "str" starts with literal */
- ! #define FT_S_NULL 75 /* V = 1 if "str" null */
- ! #define FT_S_NONNULL 76 /* V = 1 if "str" non-null */
- ! #define FT_V_EQ 77 /* V = 1 if "value" = literal */
- ! #define FT_V_NE 78 /* V = 1 if "value" != literal */
- ! #define FT_V_GT 79 /* V = 1 if "value" > literal */
- ! #define FT_V_MATCH 80 /* V = 1 if "str" contains literal */
- ! #define FT_V_AMATCH 81 /* V = 1 if "str" starts with literal */
-
- #define IF_FUNCS FT_S_NULL /* start of "if" functions */
- *** ../mh-6.7-dist/sbr/fmtcompile.c Fri Dec 14 13:25:34 1990
- --- sbr/fmtcompile.c Thu Jan 10 08:35:44 1991
- ***************
- *** 1,4 ****
- --- 1,7 ----
- /* fmtcompile.c - "compile" format strings for fmtscan */
- + #ifndef lint
- + static char ident[] = "@(#)$Id: fmtcompile.c,v 1.9 91/01/10 08:35:40 mh Exp $";
- + #endif lint
-
- #include "../h/mh.h"
- #include "../h/addrsbr.h"
- ***************
- *** 108,113 ****
- --- 111,117 ----
- "path", TF_COMP, FT_LS_PATH, FT_PARSEADDR, TFL_PUTS,
- "gname", TF_COMP, FT_LS_GNAME, FT_PARSEADDR, TFL_PUTS,
- "note", TF_COMP, FT_LS_NOTE, FT_PARSEADDR, TFL_PUTS,
- + "addr", TF_COMP, FT_LS_ADDR, FT_PARSEADDR, TFL_PUTS,
- "proper", TF_COMP, FT_LS_822ADDR, FT_PARSEADDR, TFL_PUTS,
- "type", TF_COMP, FT_LV_HOSTTYPE, FT_PARSEADDR, TFL_PUTN,
- "ingrp", TF_COMP, FT_LV_INGRPF, FT_PARSEADDR, TFL_PUTN,
- ***************
- *** 235,241 ****
-
- cp = compile(format_string);
- if (*cp) {
- ! CERROR("extra '%>' or '%|'");
- }
- NEW(FT_DONE,0,0);
- *fmt = formatvec;
- --- 239,245 ----
-
- cp = compile(format_string);
- if (*cp) {
- ! CERROR("extra '%>', '%|' or '%?'");
- }
- NEW(FT_DONE,0,0);
- *fmt = formatvec;
- ***************
- *** 275,280 ****
- --- 279,285 ----
-
- case '|':
- case '>':
- + case '?':
- return (cp);
-
- case '<':
- ***************
- *** 512,554 ****
- register char *sp;
- {
- register char *cp = sp;
- ! register struct format *fexpr, *fif, *felse;
- ! register int c;
-
- ! if ((c = *cp++) == '{') {
- ! cp = do_name(cp, 0);
- ! fp->f_type = FT_LS_COMP;
- ! LV (FT_IF_S, 0);
- ! }
- ! else if (c == '(') {
- ! cp = do_func(cp);
- ! /* see if we can merge the load and the "if" */
- ! if (ftbl->f_type >= IF_FUNCS)
- ! fp->f_type = ftbl->extra;
- ! else {
- ! LV (FT_IF_V_NE, 0);
- }
- }
- - else {
- - CERROR("'(' or '{' expected");
- - }
- - fexpr = fp;
- - cp = compile (cp);
- - if ((c = *cp++) == '|') {
- - LV(FT_GOTO, 0);
- - fif = fp;
- - felse = next_fp;
- - cp = compile(cp);
- - fif->f_skip = next_fp - fif;
- - c = *cp++;
- - }
- - else
- - felse = next_fp;
-
- if (c != '>') {
- CERROR("'>' expected.");
- }
- ! fexpr->f_skip = felse - fexpr;
-
- return (cp);
- }
- --- 517,580 ----
- register char *sp;
- {
- register char *cp = sp;
- ! register struct format *fexpr,
- ! *fif = (struct format *)NULL;
- ! register int c = '<';
-
- ! for (;;) {
- ! if (c == '<') { /* doing an IF */
- ! if ((c = *cp++) == '{') /*}*/{
- ! cp = do_name(cp, 0);
- ! fp->f_type = FT_LS_COMP;
- ! LV (FT_IF_S, 0);
- ! }
- ! else if (c == '(') {
- ! cp = do_func(cp);
- ! /* see if we can merge the load and the "if" */
- ! if (ftbl->f_type >= IF_FUNCS)
- ! fp->f_type = ftbl->extra;
- ! else {
- ! LV (FT_IF_V_NE, 0);
- ! }
- ! }
- ! else {
- ! CERROR("'(' or '{' expected"); /*}*/
- ! }
- }
- +
- + fexpr = fp; /* loc of [ELS]IF */
- + cp = compile (cp); /* compile IF TRUE stmts */
- + if (fif)
- + fif->f_skip = next_fp - fif;
- +
- + if ((c = *cp++) == '|') { /* the last ELSE */
- + LV(FT_GOTO, 0);
- + fif = fp; /* loc of GOTO */
- + fexpr->f_skip = next_fp - fexpr;
- +
- + fexpr = (struct format *)NULL;/* no extra ENDIF */
- +
- + cp = compile (cp); /* compile ELSE stmts */
- + fif->f_skip = next_fp - fif;
- + c = *cp++;
- + }
- + else if (c == '?') { /* another ELSIF */
- + LV(FT_GOTO, 0);
- + fif = fp; /* loc of GOTO */
- + fexpr->f_skip = next_fp - fexpr;
- +
- + c = '<'; /* impersonate an IF */
- + continue;
- + }
- + break;
- }
-
- if (c != '>') {
- CERROR("'>' expected.");
- }
- !
- ! if (fexpr) /* IF ... [ELSIF ...] ENDIF */
- ! fexpr->f_skip = next_fp - fexpr;
-
- return (cp);
- }
- *** ../mh-6.7-dist/sbr/formatsbr.c Fri Dec 14 13:25:34 1990
- --- sbr/formatsbr.c Wed Jan 9 22:35:25 1991
- ***************
- *** 1,4 ****
- --- 1,7 ----
- /* formatsbr.c - format string interpretation */
- + #ifndef lint
- + static char ident[] = "@(#)$Id: formatsbr.c,v 1.12 91/01/09 22:34:45 mh Exp $";
- + #endif lint
-
- #include "../h/mh.h"
- #include "../h/addrsbr.h"
- ***************
- *** 398,412 ****
- ljust = 0;
- if ((i = fmt->f_width) < 0) {
- i = -i;
- ! ljust++; /* XXX should do something with this */
- }
-
- ! if (i > 0 && strlen(str) > i)
- str[i] = '\0';
- xp = str;
- xp += strlen(str) - 1;
- while (xp > str && isspace(*xp))
- *xp-- = '\0';
- }
- break;
-
- --- 401,417 ----
- ljust = 0;
- if ((i = fmt->f_width) < 0) {
- i = -i;
- ! ljust++;
- }
-
- ! if (!ljust && i > 0 && strlen(str) > i)
- str[i] = '\0';
- xp = str;
- xp += strlen(str) - 1;
- while (xp > str && isspace(*xp))
- *xp-- = '\0';
- + if (ljust && i > 0 && strlen(str) > i)
- + str += strlen(str) - i;
- }
- break;
-
- ***************
- *** 558,563 ****
- --- 563,569 ----
- case FT_LV_NOHOSTF:
- value = fmt->f_comp->c_mn->m_nohost;
- break;
- + case FT_LS_ADDR:
- case FT_LS_FRIENDLY:
- #ifdef BERK
- str = fmt->f_comp->c_mn->m_mbox;
- ***************
- *** 566,571 ****
- --- 572,579 ----
- str = fmt -> f_comp -> c_text;
- break;
- }
- + if (fmt -> f_type == FT_LS_ADDR)
- + goto unfriendly;
- if ((str = mn -> m_pers) == NULL)
- if ((str = mn -> m_note)) {
- (void) strcpy (buffer, str);
- ***************
- *** 581,588 ****
- else
- break;
- }
- ! } else
- ! switch (mn -> m_type) {
- case LOCALHOST:
- str = mn -> m_mbox;
- break;
- --- 589,597 ----
- else
- break;
- }
- ! } else {
- ! unfriendly: ;
- ! switch (mn -> m_type) {
- case LOCALHOST:
- str = mn -> m_mbox;
- break;
- ***************
- *** 600,605 ****
- --- 609,615 ----
- else
- str = mn -> m_text;
- break;
- + }
- }
- #endif BERK
- break;
- *** ../mh-6.7-dist/sbr/m_convert.c Fri Dec 14 13:25:36 1990
- --- sbr/m_convert.c Wed Jan 9 11:19:38 1991
- ***************
- *** 1,14 ****
- /* m_convert.c - parse a message sequence and set SELECTED */
-
- #include "../h/mh.h"
- #include <stdio.h>
- #include <ctype.h>
-
- - #define BADLST (-1)
- #define BADMSG (-2)
- #define BADRNG (-3)
- #define BADNEW (-4)
- #define BADNUM (-5)
-
- #define FIRST 1
- #define LAST 2
- --- 1,17 ----
- /* m_convert.c - parse a message sequence and set SELECTED */
- + #ifndef lint
- + static char ident[] = "@(#)$Id: m_convert.c,v 1.6 91/01/09 11:19:24 mh Exp $";
- + #endif lint
-
- #include "../h/mh.h"
- #include <stdio.h>
- #include <ctype.h>
-
- #define BADMSG (-2)
- #define BADRNG (-3)
- #define BADNEW (-4)
- #define BADNUM (-5)
- + #define BADLST (-6)
-
- #define FIRST 1
- #define LAST 2
- ***************
- *** 42,47 ****
- --- 45,52 ----
- break;
-
- default:
- + if (err < 0)
- + goto badmsg;
- return 1;
- }
-
- ***************
- *** 254,262 ****
- register struct msgs *mp;
- register char *cp;
- {
- int bits,
- found,
- ! inverted;
- register int i,
- j;
- register char *dp;
- --- 259,270 ----
- register struct msgs *mp;
- register char *cp;
- {
- + char *bp = (char *)NULL;
- int bits,
- found,
- ! inverted,
- ! range = 0, /* no range */
- ! first = 0;
- register int i,
- j;
- register char *dp;
- ***************
- *** 267,281 ****
- if (inverted = (dp = m_find (nsequence)) && *dp && ssequal (dp, cp))
- cp += strlen (dp);
-
- bits = FFATTRSLOT;
- for (i = 0; mp -> msgattrs[i]; i++)
- if (strcmp (mp -> msgattrs[i], cp) == 0)
- break;
- if (mp -> msgattrs[i] == NULL)
- return OK;
-
- found = 0;
- ! for (j = mp -> lowmsg; j <= mp -> hghmsg; j++)
- if ((mp -> msgstats[j] & EXISTS)
- && inverted ? !(mp -> msgstats[j] & (1 << (bits + i)))
- : mp -> msgstats[j] & (1 << (bits + i))) {
- --- 275,340 ----
- if (inverted = (dp = m_find (nsequence)) && *dp && ssequal (dp, cp))
- cp += strlen (dp);
-
- + convdir = 1;
- + for (dp = cp; *dp && isalnum(*dp); dp++)
- + continue;
- + if (*dp == ':') {
- + bp = dp++;
- +
- + range = 1;
- + if (isalpha (*dp)) { /* optimize? */
- + if (strcmp (dp, "prev") == 0) {
- + convdir = -1;
- + first = (mp -> curmsg > 0) && (mp -> curmsg <= mp -> hghmsg)
- + ? mp -> curmsg - 1
- + : mp -> hghmsg;
- + }
- + else if (strcmp (dp, "next") == 0) {
- + convdir = 1;
- + first = (mp -> curmsg >= mp -> lowmsg)
- + ? mp -> curmsg + 1
- + : mp -> lowmsg;
- + }
- + else if (strcmp (dp, "first") == 0) {
- + convdir = 1;
- + }
- + else if (strcmp (dp, "last") == 0) {
- + convdir = -1;
- + }
- + else
- + return BADLST;
- + }
- + else { /* a numeric range */
- + if (*dp == '+')
- + dp++;
- + else if (*dp == '-') {
- + dp++;
- + convdir = -1;
- + }
- + if ((range = atoi(dp)) == 0)
- + return BADLST;
- + while (isdigit (*dp))
- + dp++;
- + if (*dp)
- + return BADLST;
- + }
- +
- + *bp = '\0'; /* terminate sequence name */
- + }
- +
- +
- bits = FFATTRSLOT;
- for (i = 0; mp -> msgattrs[i]; i++)
- if (strcmp (mp -> msgattrs[i], cp) == 0)
- break;
- + if (bp)
- + *bp = ':'; /* restore sequence name */
- if (mp -> msgattrs[i] == NULL)
- return OK;
-
- found = 0;
- ! for (j = first ? first : (convdir > 0) ? mp -> lowmsg : mp -> hghmsg;
- ! j >= mp -> lowmsg && j <= mp -> hghmsg; j += convdir)
- if ((mp -> msgstats[j] & EXISTS)
- && inverted ? !(mp -> msgstats[j] & (1 << (bits + i)))
- : mp -> msgstats[j] & (1 << (bits + i))) {
- ***************
- *** 288,297 ****
- --- 347,360 ----
- mp -> hghsel = j;
- }
- found++;
- + if (range && found >= range)
- + break; /* we've done enough */
- }
- if (found > 0)
- return found;
-
- + if (first)
- + return BADMSG;
- advise (NULLCP, "sequence %s %s", cp, inverted ? "full" : "empty");
- return NOTOK;
- }
- *** /dev/null Fri Jan 25 16:03:46 1991
- --- uip/fmtdump.c Fri Jan 25 15:38:08 1991
- ***************
- *** 0 ****
- --- 1,425 ----
- + #ifndef lint
- + static char ident[] = "@(#)$Id: fmtdump.c,v 1.2 91/01/25 15:38:06 mh Exp $";
- + #endif
- + /*
- + * fmtdump - compile format file and dump out instructions
- + *
- + * usage:
- + *
- + * fmtdump [formatfile]
- + *
- + */
- +
- + #include "../h/mh.h"
- + #include "../h/formatsbr.h"
- + #include "../h/fmtcompile.h"
- + #include <stdio.h>
- +
- + static struct format *lvec[128];
- + static lused = 0;
- +
- + char *f_typestr(), *c_typestr();
- + static int findlabel();
- +
- + void
- + main(argc, argv)
- + int argc;
- + char **argv;
- + {
- + int n;
- + struct format *fmt;
- + char *file = "scan.format";
- + char *str;
- +
- + if (argc > 1)
- + file = argv[1];
- +
- + /* Read format file into memory */
- + str = new_fs(file, 0, 0);
- +
- + /* Compile format */
- + n = fmt_compile(str, &fmt);
- +
- + /* Dump format */
- + dumpall(fmt);
- + exit(0);
- + }
- +
- + dumpall(fmth)
- + register struct format *fmth;
- + {
- + int i;
- + register struct format *fmt, *addr;
- +
- + /* Assign labels */
- + for (fmt = fmth; fmt; ++fmt) {
- + i = fmt->f_type;
- + if (i == FT_IF_S ||
- + i == FT_IF_S_NULL ||
- + i == FT_IF_V_EQ ||
- + i == FT_IF_V_NE ||
- + i == FT_IF_V_GT ||
- + i == FT_IF_MATCH ||
- + i == FT_IF_AMATCH ||
- + i == FT_GOTO) {
- + addr = fmt + fmt->f_skip;
- + if (findlabel(addr) < 0)
- + assignlabel(addr);
- + }
- + if (fmt->f_type == FT_DONE)
- + break;
- + }
- +
- + /* Dump them out! */
- + for (fmt = fmth; fmt; ++fmt) {
- + dumpone(fmt);
- + if (fmt->f_type == FT_DONE)
- + break;
- + }
- + }
- +
- + dumpone(fmt)
- + register struct format *fmt;
- + {
- + register int i;
- +
- + if ((i = findlabel(fmt)) >= 0)
- + printf("L%d:", i);
- + putchar('\t');
- +
- + fputs(f_typestr((int)fmt->f_type), stdout);
- +
- + switch (fmt->f_type) {
- +
- + case FT_COMP:
- + case FT_LS_COMP:
- + case FT_LV_COMPFLAG:
- + case FT_LV_COMP:
- + printf(", comp ");
- + litputs(fmt->f_comp->c_name);
- + if (fmt->f_comp->c_type)
- + printf(", c_type %s", c_typestr(fmt->f_comp->c_type));
- + if (fmt->f_comp->c_flags)
- + printf(", c_flags %d", fmt->f_comp->c_flags);
- + break;
- +
- + case FT_LV_SEC:
- + case FT_LV_MIN:
- + case FT_LV_HOUR:
- + case FT_LV_MDAY:
- + case FT_LV_MON:
- + case FT_LS_MONTH:
- + case FT_LS_LMONTH:
- + case FT_LS_ZONE:
- + case FT_LV_YEAR:
- + case FT_LV_WDAY:
- + case FT_LS_DAY:
- + case FT_LS_WEEKDAY:
- + case FT_LV_YDAY:
- + case FT_LV_ZONE:
- + case FT_LV_CLOCK:
- + case FT_LV_RCLOCK:
- + case FT_LV_DAYF:
- + case FT_LV_ZONEF:
- + case FT_LV_DST:
- + case FT_LS_822DATE:
- + case FT_LS_PRETTY:
- + case FT_LOCALDATE:
- + case FT_GMTDATE:
- + case FT_PARSEDATE:
- + printf(", c_name ");
- + litputs(fmt->f_comp->c_name);
- + if (fmt->f_comp->c_type)
- + printf(", c_type %s", c_typestr(fmt->f_comp->c_type));
- + if (fmt->f_comp->c_flags)
- + printf(", c_flags %d", fmt->f_comp->c_flags);
- + break;
- +
- + case FT_LS_PERS:
- + case FT_LS_MBOX:
- + case FT_LS_HOST:
- + case FT_LS_PATH:
- + case FT_LS_GNAME:
- + case FT_LS_NOTE:
- + case FT_LS_822ADDR:
- + case FT_LV_HOSTTYPE:
- + case FT_LV_INGRPF:
- + case FT_LV_NOHOSTF:
- + case FT_LS_FRIENDLY:
- + case FT_PARSEADDR:
- + case FT_MYMBOX:
- + printf(", c_name ");
- + litputs(fmt->f_comp->c_name);
- + if (fmt->f_comp->c_type)
- + printf(", c_type %s", c_typestr(fmt->f_comp->c_type));
- + if (fmt->f_comp->c_flags)
- + printf(", c_flags %d", fmt->f_comp->c_flags);
- + break;
- +
- + case FT_COMPF:
- + printf(", width %d, fill '", fmt->f_width);
- + litputc(fmt->f_fill);
- + printf("' name ");
- + litputs(fmt->f_comp->c_name);
- + if (fmt->f_comp->c_type)
- + printf(", c_type %s", c_typestr(fmt->f_comp->c_type));
- + if (fmt->f_comp->c_flags)
- + printf(", c_flags %d", fmt->f_comp->c_flags);
- + break;
- +
- + case FT_STRF:
- + case FT_NUMF:
- + printf(", width %d, fill '", fmt->f_width);
- + litputc(fmt->f_fill);
- + putchar('\'');
- + break;
- +
- + case FT_LIT:
- + #ifdef FT_LIT_FORCE
- + case FT_LIT_FORCE:
- + #endif
- + putchar(' ');
- + litputs(fmt->f_text);
- + break;
- +
- + case FT_LITF:
- + printf(", width %d, fill '", fmt->f_width);
- + litputc(fmt->f_fill);
- + printf("' ");
- + litputs(fmt->f_text);
- + break;
- +
- + case FT_CHAR:
- + putchar(' ');
- + putchar('\'');
- + litputc(fmt->f_char);
- + putchar('\'');
- + break;
- +
- + case FT_IF_S:
- + case FT_IF_S_NULL:
- + case FT_IF_MATCH:
- + case FT_IF_AMATCH:
- + case FT_GOTO:
- + i = findlabel(fmt + fmt->f_skip);
- + printf(" L%d", i);
- + break;
- +
- + case FT_IF_V_EQ:
- + case FT_IF_V_NE:
- + case FT_IF_V_GT:
- + i = findlabel(fmt + fmt->f_skip);
- + printf(" %d goto L%d", fmt->f_value, i);
- + break;
- +
- + case FT_V_EQ:
- + case FT_V_NE:
- + case FT_V_GT:
- + case FT_LV_LIT:
- + case FT_LV_PLUS_L:
- + case FT_LV_MINUS_L:
- + case FT_LV_DIVIDE_L:
- + printf(" value %d", fmt->f_value);
- + break;
- +
- + case FT_LS_LIT:
- + printf(" str ");
- + litputs(fmt->f_text);
- + break;
- +
- + case FT_LS_TRIM:
- + printf(", width %d", fmt->f_width);
- + break;
- +
- + case FT_LV_DAT:
- + printf(", value dat[%d]", fmt->f_value);
- + break;
- + }
- + putchar('\n');
- + }
- +
- + static int
- + findlabel(addr)
- + register struct format *addr;
- + {
- + register int i;
- +
- + for (i = 0; i < lused; ++i)
- + if (addr == lvec[i])
- + return(i);
- + return(-1);
- + }
- +
- + assignlabel(addr)
- + register struct format *addr;
- + {
- + lvec[lused++] = addr;
- + }
- +
- + char *
- + f_typestr(t)
- + int t;
- + {
- + static char buf[32];
- +
- + switch (t) {
- + case FT_COMP: return("COMP");
- + case FT_COMPF: return("COMPF");
- + case FT_LIT: return("LIT");
- + case FT_LITF: return("LITF");
- + #ifdef FT_LIT_FORCE
- + case FT_LIT_FORCE: return("LIT_FORCE");
- + #endif
- + case FT_CHAR: return("CHAR");
- + case FT_NUM: return("NUM");
- + case FT_NUMF: return("NUMF");
- + case FT_STR: return("STR");
- + case FT_STRF: return("STRF");
- + case FT_STRFW: return("STRFW");
- + case FT_PUTADDR: return("PUTADDR");
- + case FT_LS_COMP: return("LS_COMP");
- + case FT_LS_LIT: return("LS_LIT");
- + case FT_LS_TRIM: return("LS_TRIM");
- + case FT_LV_COMP: return("LV_COMP");
- + case FT_LV_COMPFLAG: return("LV_COMPFLAG");
- + case FT_LV_LIT: return("LV_LIT");
- + case FT_LV_DAT: return("LV_DAT");
- + case FT_LV_STRLEN: return("LV_STRLEN");
- + case FT_LV_PLUS_L: return("LV_PLUS_L");
- + case FT_LV_MINUS_L: return("LV_MINUS_L");
- + case FT_LV_DIVIDE_L: return("LV_DIVIDE_L");
- + case FT_LV_CHAR_LEFT: return("LV_CHAR_LEFT");
- + case FT_LS_MONTH: return("LS_MONTH");
- + case FT_LS_LMONTH: return("LS_LMONTH");
- + case FT_LS_ZONE: return("LS_ZONE");
- + case FT_LS_DAY: return("LS_DAY");
- + case FT_LS_WEEKDAY: return("LS_WEEKDAY");
- + case FT_LS_822DATE: return("LS_822DATE");
- + case FT_LS_PRETTY: return("LS_PRETTY");
- + case FT_LV_SEC: return("LV_SEC");
- + case FT_LV_MIN: return("LV_MIN");
- + case FT_LV_HOUR: return("LV_HOUR");
- + case FT_LV_MDAY: return("LV_MDAY");
- + case FT_LV_MON: return("LV_MON");
- + case FT_LV_YEAR: return("LV_YEAR");
- + case FT_LV_YDAY: return("LV_YDAY");
- + case FT_LV_WDAY: return("LV_WDAY");
- + case FT_LV_ZONE: return("LV_ZONE");
- + case FT_LV_CLOCK: return("LV_CLOCK");
- + case FT_LV_RCLOCK: return("LV_RCLOCK");
- + case FT_LV_DAYF: return("LV_DAYF");
- + case FT_LV_DST: return("LV_DST");
- + case FT_LV_ZONEF: return("LV_ZONEF");
- + case FT_LS_PERS: return("LS_PERS");
- + case FT_LS_MBOX: return("LS_MBOX");
- + case FT_LS_HOST: return("LS_HOST");
- + case FT_LS_PATH: return("LS_PATH");
- + case FT_LS_GNAME: return("LS_GNAME");
- + case FT_LS_NOTE: return("LS_NOTE");
- + case FT_LS_822ADDR: return("LS_822ADDR");
- + case FT_LS_FRIENDLY: return("LS_FRIENDLY");
- + case FT_LV_HOSTTYPE: return("LV_HOSTTYPE");
- + case FT_LV_INGRPF: return("LV_INGRPF");
- + case FT_LV_NOHOSTF: return("LV_NOHOSTF");
- + case FT_LOCALDATE: return("LOCALDATE");
- + case FT_GMTDATE: return("GMTDATE");
- + case FT_PARSEDATE: return("PARSEDATE");
- + case FT_PARSEADDR: return("PARSEADDR");
- + case FT_FORMATADDR: return("FORMATADDR");
- + case FT_MYMBOX: return("MYMBOX");
- + #ifdef FT_ADDTOSEQ
- + case FT_ADDTOSEQ: return("ADDTOSEQ");
- + #endif
- + case FT_SAVESTR: return("SAVESTR");
- + case FT_DONE: return("DONE");
- + case FT_NOP: return("NOP");
- + case FT_GOTO: return("GOTO");
- + case FT_IF_S_NULL: return("IF_S_NULL");
- + case FT_IF_S: return("IF_S");
- + case FT_IF_V_EQ: return("IF_V_EQ");
- + case FT_IF_V_NE: return("IF_V_NE");
- + case FT_IF_V_GT: return("IF_V_GT");
- + case FT_IF_MATCH: return("IF_MATCH");
- + case FT_IF_AMATCH: return("IF_AMATCH");
- + case FT_S_NULL: return("S_NULL");
- + case FT_S_NONNULL: return("S_NONNULL");
- + case FT_V_EQ: return("V_EQ");
- + case FT_V_NE: return("V_NE");
- + case FT_V_GT: return("V_GT");
- + case FT_V_MATCH: return("V_MATCH");
- + case FT_V_AMATCH: return("V_AMATCH");
- + default:
- + (void)sprintf(buf, "/* ??? #%d */", t);
- + return(buf);
- + }
- + }
- +
- + #define FNORD(v, s) if (t & (v)) { \
- + if (i++ > 0) \
- + strcat(buf, "|"); \
- + strcat(buf, s); }
- +
- + char *
- + c_typestr(t)
- + int t;
- + {
- + register int i;
- + static char buf[64];
- +
- + buf[0] = '\0';
- + if (t & ~(CT_ADDR|CT_DATE|CT_MYMBOX|CT_ADDRPARSE))
- + (void)sprintf(buf, "0x%x ", t);
- + strcat(buf, "<");
- + i = 0;
- + FNORD(CT_ADDR, "ADDR");
- + FNORD(CT_DATE, "DATE");
- + FNORD(CT_MYMBOX, "MYMBOX");
- + FNORD(CT_ADDRPARSE, "ADDRPARSE");
- + strcat(buf, ">");
- + return(buf);
- + #undef FNORD
- + }
- +
- + litputs(s)
- + register char *s;
- + {
- + if (s) {
- + putc('"', stdout);
- + while (*s)
- + litputc(*s++);
- + putc('"', stdout);
- + } else
- + fputs("<nil>", stdout);
- + }
- +
- + litputc(c)
- + char c;
- + {
- + if (c & ~ 0177) {
- + putc('M', stdout);
- + putc('-', stdout);
- + c &= 0177;
- + }
- + if (c < 0x20 || c == 0177) {
- + if (c == '\b') {
- + putc('\\', stdout);
- + putc('b', stdout);
- + } else if (c == '\f') {
- + putc('\\', stdout);
- + putc('f', stdout);
- + } else if (c == '\n') {
- + putc('\\', stdout);
- + putc('n', stdout);
- + } else if (c == '\r') {
- + putc('\\', stdout);
- + putc('r', stdout);
- + } else if (c == '\t') {
- + putc('\\', stdout);
- + putc('t', stdout);
- + } else {
- + putc('^', stdout);
- + putc(c ^ 0x40, stdout); /* DEL to ?, others to alpha */
- + }
- + } else
- + putc(c, stdout);
- + }
- *** ../mh-6.7-dist/uip/mhlsbr.c Fri Dec 14 13:26:05 1990
- --- uip/mhlsbr.c Fri Jan 25 14:49:56 1991
- ***************
- *** 1,6 ****
- /* mhlsbr.c - implement the "nifty" message lister */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: mhlsbr.c,v 1.14 90/04/05 14:58:08 sources Exp $";
- #endif lint
-
- #include "../h/mh.h"
- --- 1,6 ----
- /* mhlsbr.c - implement the "nifty" message lister */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: mhlsbr.c,v 1.16 91/01/25 14:49:46 mh Exp $";
- #endif lint
-
- #include "../h/mh.h"
- ***************
- *** 661,666 ****
- --- 661,668 ----
- return ptoi (name, &c1 -> c_cwidth);
- if (uleq (name, "length"))
- return ptoi (name, &c1 -> c_length);
- + if (uleq (name, "nodashmunging"))
- + return (dashflg = 0);
-
- for (ap = triples; ap -> t_name; ap++)
- if (uleq (ap -> t_name, name)) {
- ***************
- *** 1503,1509 ****
- --- 1505,1513 ----
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <netdb.h>
- + #ifndef hpux
- #include <arpa/inet.h>
- + #endif
-
- static int doface (c1)
- register struct mcomp *c1;
- *** ../mh-6.7-dist/uip/mshcmds.c Fri Dec 14 13:26:06 1990
- --- uip/mshcmds.c Tue Jan 15 09:46:58 1991
- ***************
- *** 1,6 ****
- /* mshcmds.c - command handlers in msh */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: mshcmds.c,v 1.5 90/04/05 15:01:41 sources Exp $";
- #endif lint
-
- #include "../h/mh.h"
- --- 1,6 ----
- /* mshcmds.c - command handlers in msh */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: mshcmds.c,v 1.6 91/01/14 16:48:39 mh Exp $";
- #endif lint
-
- #include "../h/mh.h"
- ***************
- *** 468,474 ****
- "src +folder", 0,
- #define FIFILE 6
- "file file", 0,
- ! #define FIHELP 7
- "help", 4,
-
- NULL, NULL
- --- 468,478 ----
- "src +folder", 0,
- #define FIFILE 6
- "file file", 0,
- ! #define FIPROC 7
- ! "rmmproc program", 0,
- ! #define FINPRC 8
- ! "normmproc", 0,
- ! #define FIHELP 9
- "help", 4,
-
- NULL, NULL
- ***************
- *** 523,528 ****
- --- 527,534 ----
- case FISRC:
- case FIDRFT:
- case FIFILE:
- + case FIPROC:
- + case FINPRC:
- advise (NULLCP, "sorry, -%s not allowed!", fileswit[i].sw);
- return;
- }
- ***************
- *** 1717,1741 ****
- "filter filterfile", 0,
- #define REFRMSW 11
- "form formfile", 0,
- ! #define REFRSW 12
- ! "format", 5,
- ! #define RENFRSW 13
- ! "noformat", 7,
- ! #define REINSW 14
- "inplace", 0,
- ! #define RENINSW 15
- "noinplace", 0,
- ! #define REQUSW 16
- "query", 0,
- ! #define RENQUSW 17
- "noquery", 0,
- ! #define REWHTSW 18
- "whatnowproc program", 0,
- ! #define RENWTSW 19
- "nowhatnow", 0,
- ! #define REWIDSW 20
- "width columns", 0,
- ! #define REHELP 21
- "help", 4,
-
- NULL, NULL
- --- 1723,1743 ----
- "filter filterfile", 0,
- #define REFRMSW 11
- "form formfile", 0,
- ! #define REINSW 12
- "inplace", 0,
- ! #define RENINSW 13
- "noinplace", 0,
- ! #define REQUSW 14
- "query", 0,
- ! #define RENQUSW 15
- "noquery", 0,
- ! #define REWHTSW 16
- "whatnowproc program", 0,
- ! #define RENWTSW 17
- "nowhatnow", 0,
- ! #define REWIDSW 19
- "width columns", 0,
- ! #define REHELP 20
- "help", 4,
-
- NULL, NULL
- ***************
- *** 1777,1784 ****
- case RENINSW:
- continue;
-
- - case REFRSW:
- - case RENFRSW:
- case REQUSW:
- case RENQUSW:
- case RENDFSW:
- --- 1779,1784 ----
- *** ../mh-6.7-dist/uip/refile.c Fri Dec 14 13:26:09 1990
- --- uip/refile.c Mon Jan 14 16:27:27 1991
- ***************
- *** 1,6 ****
- /* refile.c - file messages away */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: refile.c,v 1.4 90/04/05 15:02:18 sources Exp $";
- #endif lint
-
- #include "../h/mh.h"
- --- 1,6 ----
- /* refile.c - file messages away */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: refile.c,v 1.5 91/01/14 16:27:20 mh Exp $";
- #endif lint
-
- #include "../h/mh.h"
- ***************
- *** 31,37 ****
- #define FILESW 6
- "file file", 0,
-
- ! #define HELPSW 7
- "help", 4,
-
- NULL, NULL
- --- 31,42 ----
- #define FILESW 6
- "file file", 0,
-
- ! #define RPROCSW 7
- ! "rmmproc program", 0,
- ! #define NRPRCSW 8
- ! "normmproc", 0,
- !
- ! #define HELPSW 9
- "help", 4,
-
- NULL, NULL
- ***************
- *** 138,143 ****
- --- 143,156 ----
- if (!(cp = *argp++) || *cp == '-')
- adios (NULLCP, "missing argument to %s", argp[-2]);
- files[filep++] = path (cp, TFILE);
- + continue;
- +
- + case RPROCSW:
- + if (!(rmmproc = *argp++) || *rmmproc == '-')
- + adios (NULLCP, "missing argument to %s", argp[-2]);
- + continue;
- + case NRPRCSW:
- + rmmproc = (char *)0;
- continue;
- }
- if (*cp == '+' || *cp == '@') {
- *** ../mh-6.7-dist/uip/replsbr.c Fri Dec 14 13:26:09 1990
- --- uip/replsbr.c Fri Jan 25 14:08:57 1991
- ***************
- *** 1,6 ****
- /* replsbr.c - routines to help repl along... */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: replsbr.c,v 1.9 90/11/05 11:38:43 mh Exp $";
- #endif lint
-
- #include "../h/mh.h"
- --- 1,6 ----
- /* replsbr.c - routines to help repl along... */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: replsbr.c,v 1.10 91/01/17 15:29:27 mh Exp $";
- #endif lint
-
- #include "../h/mh.h"
- ***************
- *** 132,137 ****
- --- 132,142 ----
- FINDCOMP (cptr, "fcc");
- if (cptr)
- cptr->c_text = getcpy (fcc);
- + }
- + if (cp = getenv("USER")) {
- + FINDCOMP (cptr, "user");
- + if (cptr)
- + cptr->c_text = getcpy(cp);
- }
- if (!ccme)
- (void) ismymbox ((struct mailname *)0); /* XXX */
- *** ../mh-6.7-dist/uip/show.c Fri Dec 14 13:26:11 1990
- --- uip/show.c Wed Dec 19 08:48:51 1990
- ***************
- *** 1,6 ****
- /* show.c - list messages */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: show.c,v 1.2 90/04/05 15:03:16 sources Exp $";
- #endif lint
-
- #include "../h/mh.h"
- --- 1,6 ----
- /* show.c - list messages */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: show.c,v 1.3 90/12/19 08:48:39 mh Exp $";
- #endif lint
-
- #include "../h/mh.h"
- ***************
- *** 246,252 ****
- if (nshow)
- proc = "/bin/cat";
- else {
- ! (void) putenv ("mhfolder", folder);
- if (strcmp (r1bindex (showproc, '/'), "mhl") == 0) {
- vec[0] = "mhl";
- (void) mhl (vecp, vec);
- --- 246,253 ----
- if (nshow)
- proc = "/bin/cat";
- else {
- ! if (folder)
- ! (void) putenv ("mhfolder", folder);
- if (strcmp (r1bindex (showproc, '/'), "mhl") == 0) {
- vec[0] = "mhl";
- (void) mhl (vecp, vec);
- *** ../mh-6.7-dist/uip/slocal.c Fri Dec 14 13:26:11 1990
- --- uip/slocal.c Thu Jan 10 14:39:20 1991
- ***************
- *** 1,6 ****
- /* slocal.c - MH style mailer to write to a local user's mailbox */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: slocal.c,v 1.8 90/04/05 14:58:46 sources Exp $";
- #endif lint
-
- /* This program implements mail delivery in the MH/MMDF style.
- --- 1,6 ----
- /* slocal.c - MH style mailer to write to a local user's mailbox */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: slocal.c,v 1.9 91/01/10 14:39:00 mh Exp $";
- #endif lint
-
- /* This program implements mail delivery in the MH/MMDF style.
- ***************
- *** 515,527 ****
- break;
- }
-
- ! if (accept) {
- ! if (status == NOTOK) {
- ! won = 0;
- ! break;
- ! }
- won++;
- - }
- }
-
- (void) fclose (fp);
- --- 515,522 ----
- break;
- }
-
- ! if (accept && status == OK)
- won++;
- }
-
- (void) fclose (fp);
- *** ../mh-6.7-dist/uip/sortm.c Fri Dec 14 13:26:11 1990
- --- uip/sortm.c Wed Dec 19 10:02:32 1990
- ***************
- *** 1,7 ****
- /* sortm.c - sort messages in a folder by date/time */
- /* 21Apr90 do subject sorts too - from V. Jacobson */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: sortm.c,v 1.12 90/04/05 15:02:27 sources Exp $";
- #endif lint
-
- #include "../h/mh.h"
- --- 1,7 ----
- /* sortm.c - sort messages in a folder by date/time */
- /* 21Apr90 do subject sorts too - from V. Jacobson */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: sortm.c,v 1.14 90/12/19 10:02:16 mh Exp $";
- #endif lint
-
- #include "../h/mh.h"
- ***************
- *** 499,522 ****
- char *newname,
- oldname[BUFSIZ];
-
- ! nxt = mlist[msg] - smsgs;
- ! mlist[msg] = 0;
- ! old = smsgs[nxt].s_msg;
- ! new = smsgs[msg].s_msg;
- ! (void) strcpy (oldname, m_name (old));
- ! newname = m_name (new);
- ! if (verbose)
- ! printf ("message %d becomes message %d\n", old, new);
-
- ! if (rename (oldname, newname) == NOTOK)
- ! adios (newname, "unable to rename %s to", oldname);
-
- ! mp->msgstats[new] = mp->msgstats[old];
- ! if (mp->curmsg == old)
- ! m_setcur (mp, new);
-
- ! if (nxt != endmsg)
- ! rename_chain (mp, mlist, nxt, endmsg);
- }
-
- static void
- --- 499,528 ----
- char *newname,
- oldname[BUFSIZ];
-
- ! for (;;) {
- ! nxt = mlist[msg] - smsgs; /* mlist[msg] is a ptr into smsgs */
- ! mlist[msg] = (struct smsg *)0;
- ! old = smsgs[nxt].s_msg;
- ! new = smsgs[msg].s_msg;
- ! (void) strcpy (oldname, m_name (old));
- ! newname = m_name (new);
- ! if (verbose)
- ! printf ("message %d becomes message %d\n", old, new);
-
- ! if (rename (oldname, newname) == NOTOK)
- ! adios (newname, "unable to rename %s to", oldname);
-
- ! mp->msgstats[new] = mp->msgstats[old];
- ! if (mp->curmsg == old)
- ! m_setcur (mp, new);
-
- ! if (nxt == endmsg)
- ! break;
- !
- ! msg = nxt;
- ! }
- ! /* if (nxt != endmsg); */
- ! /* rename_chain (mp, mlist, nxt, endmsg); */
- }
-
- static void
- ***************
- *** 530,540 ****
- new;
- short stats;
- char f1[BUFSIZ],
- - f2[BUFSIZ],
- tmpfil[BUFSIZ];
- register struct smsg *sp;
-
- ! (void) strcpy (tmpfil, m_scratch ("", invo_name));
-
- for (i = 0; i < nmsgs; i++) {
- if (! (sp = mlist[i]))
- --- 536,545 ----
- new;
- short stats;
- char f1[BUFSIZ],
- tmpfil[BUFSIZ];
- register struct smsg *sp;
-
- ! (void) strcpy (tmpfil, m_name (mp->hghmsg + 1));
-
- for (i = 0; i < nmsgs; i++) {
- if (! (sp = mlist[i]))
- *** ../mh-6.7-dist/uip/ttyw.c Fri Dec 14 13:26:12 1990
- --- uip/ttyw.c Fri Jan 25 14:49:57 1991
- ***************
- *** 12,18 ****
- --- 12,20 ----
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <netdb.h>
- + #ifndef hpux
- #include <arpa/inet.h>
- + #endif
- #include "ttyd.h"
- #include "ttym.c"
-
- *** ../mh-6.7-dist/uip/whatnowsbr.c Fri Dec 14 13:26:14 1990
- --- uip/whatnowsbr.c Wed Jan 23 15:43:36 1991
- ***************
- *** 1,6 ****
- /* whatnowsbr.c - the WhatNow shell */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: whatnowsbr.c,v 1.6 90/04/05 14:59:26 sources Exp $";
- #endif lint
-
- #include "../h/mh.h"
- --- 1,6 ----
- /* whatnowsbr.c - the WhatNow shell */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: whatnowsbr.c,v 1.10 91/01/23 15:43:31 mh Exp $";
- #endif lint
-
- #include "../h/mh.h"
- ***************
- *** 335,351 ****
-
- default:
- if (status = pidwait (pid, NOTOK)) {
- if (((status & 0xff00) != 0xff00)
- && (!reedit || (status & 0x00ff)))
- if (!use && (status & 0xff00) &&
- ! (rename (file, m_backup (file)) != NOTOK)) {
- ! advise (NULLCP, "problems with edit--%s deleted", file);
- }
- else
- advise (NULLCP, "problems with edit--%s preserved",
- file);
- ! status = -2;
- break;
- }
-
- reedit++;
- --- 335,362 ----
-
- default:
- if (status = pidwait (pid, NOTOK)) {
- + #ifdef SUNVIBUG
- + if ((cp = r1bindex (*ed, '/'))
- + && strcmp (cp, "vi") == 0
- + && (status & 0x00ff) == 0)
- + status = 0;
- + else {
- + #endif
- if (((status & 0xff00) != 0xff00)
- && (!reedit || (status & 0x00ff)))
- if (!use && (status & 0xff00) &&
- ! (rename (file, cp = m_backup (file)) != NOTOK)) {
- ! advise (NULLCP, "problems with edit--draft left in %s",
- ! cp);
- }
- else
- advise (NULLCP, "problems with edit--%s preserved",
- file);
- ! status = -2; /* maybe "reedit ? -2 : -1"? */
- break;
- + #ifdef SUNVIBUG
- + }
- + #endif
- }
-
- reedit++;
- *** ../mh-6.7-dist/zotnet/mts/lock.c Fri Dec 14 13:26:24 1990
- --- zotnet/mts/lock.c Fri Jan 25 09:46:47 1991
- ***************
- *** 1,6 ****
- /* lock.c - universal locking routines */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: lock.c,v 2.3 90/04/05 15:04:28 sources Exp $";
- #endif lint
-
- #ifdef MMDFONLY
- --- 1,6 ----
- /* lock.c - universal locking routines */
- #ifndef lint
- ! static char ident[] = "@(#)$Id: lock.c,v 2.4 91/01/18 08:43:29 mh Exp Locker: mh $";
- #endif lint
-
- #ifdef MMDFONLY
- ***************
- *** 24,29 ****
- --- 24,33 ----
- #include <sys/stat.h>
- #ifdef LOCKF
- #include <sys/errno.h>
- + #include <sys/file.h>
- + #ifndef F_ULOCK
- + #include <unistd.h>
- + #endif
- #endif LOCKF
-
-
-